php字符串处理是php基础中重要的一部分,总结并整理了一下

  1、最简单的,字符串输出单引号和双引号的区别(定义字符串用单引号和双引号都可以)

 $str='hello';
echo "str is $str";
echo "<br />";
echo 'str is $str';

看到了吧,双引号会输出字符串本身,单引号会输出字符串变量标识符

  2、字符串连接

 $i='I';
$love=' Love';
$you=' You';
$hi=$i.$love.$you; //连接字符串
echo $hi;

  3、去除字符串中的空格

 $str="   string    ";
$str1=trim($str); //去除两边空格
$str=rtrim($str); //去除右边空格
$str=ltrim($str3); //去除左边空格

  4、获取字符串长度

 //获取英文字符串长度
$love="I love you";
$len=strlen($love);
echo $len;
echo "<br />";
//获取中文字符串的实际占用长度
$love="我爱你!";
$len=strlen($love);
echo $len;
echo "<br />";
//获取中文汉字个数
$love="我爱你!";
$len=mb_strlen($love,"UTF8");
echo $len;

这里要注意统计中文字符指定编码要与本身编码一致,否则会出现乱码,默认为utf8编码不用指定也可以

  5、字符串截取

 //英文字符串截取
$love="I love you";
echo substr($love, 2,4);
echo "<br />";
//中文字符串截取
$love="我爱你啊啊啊";
echo mb_substr($love, 0,3,'utf8');

这里同样注意编码问题,其实中文字符串截取用substr函数也可以,只是要运算一下,gbk一个汉字占2个字节,utf8一个汉字占3个,弄不好会截出半个出现乱码,用mb_substr直接数汉字个数就行了

  6、字符串查找

 $str = 'What is your name?';
echo strpos($str,'name');

这个结果会输出13,就是要搜索的字符串第一个字符所在的位置,原字符串从0开始数

  7、

 $str = 'I Love China';
$replace=str_replace('China','you',$str);
echo $replace;

一看就知道了,输出I Love you

  8、字符串的格式化

 $str = '100.1';
$result=sprintf('%01.3f',$str);
echo $result;

这个结果会输出100.100,%01.3f,前面0代表没有数字则填充0,后面.3代表3位小数,f是固定格式

  9、字符串合并与分割

 //合并字符串
$arr = array('Hello', 'World!');
$result = implode('-', $arr);
print_r($result);
echo "<br />";
//分隔字符串
$str = 'sun-moon-star';
$result=explode('-',$str);
print_r($result);

我们可以看到,分隔符可以自己指定,合并之后是一个字符串,而分割后成为了一个数组

  10、字符串转义输出

我们知道,单引号中包含双引号,双引号中包含单引号可以原样输出,但是单引号中包含单引号或者双引号中包含双引号要用\转义,保持输出不变,那么反过来呢?

 $str = "what's this?";
echo addslashes($str);

这样就会输出what\'s this? 输出转义前的了

好了,先总结这些,方便使用的时候查询,以后用到的时候再随时更新,

php字符串处理总结的更多相关文章

  1. Python高手之路【六】python基础之字符串格式化

    Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存.[PEP-3101] This ...

  2. 测试一下StringBuffer和StringBuilder及字面常量拼接三种字符串的效率

    之前一篇里写过字符串常用类的三种方式<java中的字符串相关知识整理>,只不过这个只是分析并不知道他们之间会有多大的区别,或者所谓的StringBuffer能提升多少拼接效率呢?为此写个简 ...

  3. java中的字符串相关知识整理

    字符串为什么这么重要 写了多年java的开发应该对String不陌生,但是我却越发觉得它陌生.每学一门编程语言就会与字符串这个关键词打不少交道.看来它真的很重要. 字符串就是一系列的字符组合的串,如果 ...

  4. JavaScript 字符串实用常操纪要

    JavaScript 字符串用于存储和处理文本.因此在编写 JS 代码之时她总如影随形,在你处理用户的输入数据的时候,在读取或设置 DOM 对象的属性时,在操作 Cookie 时,在转换各种不同 Da ...

  5. Java 字符串格式化详解

    Java 字符串格式化详解 版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 文中如有纰漏,欢迎大家留言指出. 在 Java 的 String 类中,可以使用 format() 方法 ...

  6. Redis的简单动态字符串实现

    Redis 没有直接使用 C 语言传统的字符串表示(以空字符结尾的字符数组,以下简称 C 字符串), 而是自己构建了一种名为简单动态字符串(simple dynamic string,sds)的抽象类 ...

  7. ASP.NET加密和解密数据库连接字符串

    大家知道,在应用程序中进行数据库操作需要连接字符串,而如果没有连接字符串,我们就无法在应用程序中完成检索数据,创建数据等一系列的数据库操作.当有人想要获取你程序中的数据库信息,他首先看到的可能会是We ...

  8. Javascript正则对象方法与字符串正则方法总结

    正则对象 var reg = new Regexp('abc','gi') var reg = /abc/ig 正则方法 test方法(测试某个字符串是否匹配) var str = 'abc123'; ...

  9. 微信小程序中利用时间选择器和js无计算实现定时器(将字符串或秒数转换成倒计时)

    转载注明出处 改成了一个单独的js文件,并修改代码增加了通用性,点击这里查看 今天写小程序,有一个需求就是用户选择时间,然后我这边就要开始倒计时. 因为小程序的限制,所以直接选用时间选择器作为选择定时 ...

  10. ThinkPHP+Smarty模板中截取包含中英文混合的字符串乱码的解决方案

    好几天没写博客了,其实有好多需要总结的,因为最近一直在忙着做项目,但是困惑了几天的Smarty模板中截取包含中英文混合的字符串乱码的问题,终于解决了,所以记录下来,需要的朋友看一下: 出现乱码的原因: ...

随机推荐

  1. Android Launcher分析和修改9——Launcher启动APP流程

    本来想分析AppsCustomizePagedView类,不过今天突然接到一个临时任务.客户反馈说机器界面的图标很难点击启动程序,经常点击了没有反应,Boss说要优先解决这问题.没办法,只能看看是怎么 ...

  2. The big deffrence between ($(du * )) and $(du *)

    Infolist=($(du *))echo "Get the list one $Infolist"This has formed a array after quating t ...

  3. Day1 三级目录

    d_city = { "河南" : {"郑州" : ["二七区","中原区","回族管城区",&qu ...

  4. Recon-Erlang线上系统诊断工具

    Erlang系统素以稳定可靠闻名,但是它也是c实现的,也是要管理比如内存,锁等等复杂的事情,也会出现Crash,而且crash的时候大部分原因是因为内存问题.为此erlang运行期提供了强大的自省机制 ...

  5. javascript设计模式-装饰模式

    装饰模式:在不改变原类(对象)和继承的情况下动态扩展对象功能,通过包装一个对象来实现一个新的具有原对象相同接口的新的对象.在设计原则中,有一条,多用组合,少用继承,装饰模式正是这一原则的体现. UML ...

  6. 锋利的jQuery-5--下拉框的应用(看写法)

    如图,可以通过中间的按钮将左边选中的选项添加到右边,或者全部添加到右边,也可通过双击添加.反之也可以. 左边选中加到右边: $("#add").click(function(){ ...

  7. WPF 屏蔽Alt+F4强制退出

    if (e.KeyStates == Keyboard.GetKeyStates(Key.F4) && Keyboard.Modifiers == ModifierKeys.Alt) ...

  8. SOA面向服务架构简述

    在上篇中我们简单谈了下架构设计中服务层的简单理解,在这里我们将继续服务层的架构,在本节我们将重点在于分布式服务.在分布式系统中表现层和业务逻辑层 并不处于同一物理部署,所以我们必须存在分布式服务,以契 ...

  9. JAVA HTTP请求 常用的代理设置

    由于公司上网实行代理机制, 而最近一段时间又在研究Web上的OpenApi. 没办法一定要使用代理,我之前有文章介绍了httpclient的代理使用方式, 这里介绍基本java的代理使用方式. 最常使 ...

  10. log4j:ERROR setFile(null,true) call failed.java.io.FileNotFoundException: ..\logs\2010-1-19.log (系统找不到指定的路径。)

    log4j:ERROR setFile(null,true) call failed.java.io.FileNotFoundException: ..\logs\2010-1-19.log (系统找 ...