入门 - 常用字符串函数

  • 作者:KK

  • 发表日期:2016.9.6


我目前PHP从业经验5年,在写PHP代码的过程中可以总结到的就是经常对数字字符串数组进行数据处理,其中字符串的处理也要经常用到字符串处理函数,有以下函数:

//这些是最常用的
trim($str) //去掉字符串左右两边空格后的字符串
ltrim //去掉字符串左边的空格
rtrim //去掉右边的空格

strlen //计算长度,前面讲过
mb_strlen //计算特定编码字符的长度

substr //裁剪字符串,比如从abcdefg中取出cde这个片段
mb_substr //同上,只是有非英文的文字时就常用这个,其它mb_xx的函数都是针对非英文的,有更多需求就看手册,常用就两个mb

strpos //查找指定字符串首次出现的位置,要注意的是查不到会返回 false,查到第1个字符就是要找的字符的话会是0,后面的是1,2,3……
stripos //同上,但这个不分大小写查找
strstr //也是查字符串的,但会返回查找到的部分
stristr //同上,但这个不分大小写查找

strtolower //将字符串里的英文全部转成小写
strtoupper //相反,转成大写

explode //将字符串以某个符号为标记分割成数组
iconv //转换字符串的编码
mb_convert_encoding //高级转换编码,就看看,用到再查它详细吧

md5 //计算一个字符串的MD5值,通常用于校验
md5_file //计算文件的MD5你懂的,其实不咋用,连带md5一起冒泡



//下面这些在项目里通常最多用不过3次
parse_str //将url上的QueryString片段解析成数组,一般是框架的路由层和curl封装类常见
strrev //将字符串反转,比如 ABCD 变成 DCBA 咯
ucfirst //将字符串的首字符改成大写,jay变成Jay咯
ucwords //将每个单词的首字母转成大写
print //输出,但输出一般用echo,我个人更多用在模板上
substr_count //计算字串出现的次数
strrpos //和strpos相反,查找指定字符串的最后一次出现的位置

举两个粟子

这里拿几个经常接触的函数做例子:

  • trim 去空格或去别的

    $str = ' abc!';
    var_export([
    	'未去除空格' => $str,
    	'已去除空格' => trim($str),
    	'指定去叹号' => trim($str, '!'),
    	'去除多个' => trim($str, ' !'), //去除两边的空格和叹号
    ]); 
    

  • substrmb_substr裁剪字符串

    var_export([
    	'从第1个字符后面开始裁剪' => substr('ab,cde!', 1), // b,cde!
    	'从第2个字符后面开始裁剪' => substr('ab,cde!', 3), // cde!
    	'从第0个字符后面开始裁剪' => substr('ab,cde!', 0), // ab,cde!
    	'从第2个后面裁剪3个字符' => substr('ab,cde!', 2, 3), // ,cd
    	'从第6个后面裁剪1个' => substr('ab,cde!', 6, 1), // !
    		
    	'得到乱码' => substr('中国人', 1, 1),
    	'GBK/GB2312编码得 国' => substr('中国人', 1, 2),
    	'UTF-8编码得 国' => substr('中国人', 1, 3),
    		
    		
    	'正常' => mb_substr('中国人', 1, 1, 'UTF-8'),
    	'国人' => substr('中国人', 1, 2, 'UTF-8'),
    ]);