Warning: Error while sending QUERY packet. PID=4752 in /home/wwwroot/coco/domain/cnlamp/web/wp-includes/wp-db.php on line 1877 php中常用的字符串函数 | LAMP新闻|技巧|经验|资讯站
现在的位置: 首页PHP>正文
php中常用的字符串函数
发表于5年前 PHP 暂无评论

strlen计算字符串的长度
$str = ‘hello world’;
echo ‘该字符串的长度为:’,strlen($str),’
‘;
echo ‘该字符串的长度为:’,mb_strlen($str),’


‘;

mb_strcut、mb_substr()截取中文
$str = ‘截取中文’;
echo ‘mb_substr按字截取:’,mb_substr($str,0,3,’utf-8′),’
‘;
echo ‘mb_strcut按字节截取:’,mb_strcut($str,0,3,’utf-8′),’
‘;

替换字符串
echo ‘简单的替换:’,str_replace(‘hello’,’hi’,$str),’
‘;
echo ‘替换敏感字眼:’,str_replace(‘政府’,’和谐’,’政府民生’),’
‘;
$str = ‘政府 傻× 吊毛’ ;
$ar = array(‘政府’,’傻×’,’吊毛’);
echo ‘数组替换:’,str_replace($ar,’和谐’,$str),’


‘;

strpos查看字符串中是否有该子字符串及该字符串出现的位置
$str = ‘my Name is xushaolong’;
echo strpos($str,’my’)===false?’没有该子字符串
‘:’有此子字符串
‘;
echo ‘is的位置为:’,strpos($str,’is’),’
‘;
echo ‘忽视大小写N的位置:’,stripos($str,’name’),’
‘;
echo ‘n最后一次出现的位置:’,strrpos($str,’n’),’


‘;

strrev反转字符串
echo ‘$str反转后为:’,strrev($str),’


‘;

strrchr的用法
$str = ‘mysql.class.php’;
echo ‘截取最后一次.出现的位置开始’,strrchr($str, ‘.’),’


‘;

字符串的综合利用,截取文件名的后缀
echo ‘字符串的综合利用,截取文件名的后缀
‘;
$str = ‘mysql.class.php’;
echo ‘利用str_replace()函数直接截取————->’,str_replace(‘mysql.class.’,”,$str),’
‘;
echo ‘利用substr()函数直接截取————->’,substr($str,-3),’
‘;
echo ‘strrpos和substr相结合———————>’,substr($str,strrpos($str,’.’)+1),’
‘;
echo ‘strrev和strstr相结合———————>’,strrev(strstr(strrev($str),’.’,true)),’


‘;

str_split将字符串转换为数组
$str = ‘1234567’;
$arr = str_split($str,3);//此时$str字符串已经以3个单位被分割成数组了
print_r($arr);
echo ‘


‘;

将数组转化为字符串
echo implode(‘,’,$arr),’


‘;

将字符串转化为数组
$str = ‘mysql.class.php’;
print_r(explode(‘.’,$str));
echo ‘


‘;

trim去除两端空白符或去除指定字符
$str = ‘ ….abcdef,,,, ‘;
$str = trim($str);
echo ‘去掉$str两边的空格:’,$str,’
‘;
$str = ltrim($str,’.’);
echo ‘去掉$str左边的点号:’,$str,’
‘;
$str = rtrim($str,’,’);
echo ‘去掉$str右边的逗号:’,$str,’


‘;

chunk_split,把字符拆成小段并补充指定的字符
$str = ‘abcdefghigklmn’;
echo ‘测试下chunk_split的用法:’,chunk_split($str,2,’,’),’


‘;

综合练习,1234567,得到1,234,567
$str = ‘1234567’;
echo ‘综合练习,1234567,得到1,234,567
‘;
echo ‘第一种方法,结合chunk_split、strrev、trim:——————>’,strrev(trim(chunk_split(strrev($str),3,’,’),’,’)),’
‘;
echo ‘第二种方法,利用数组转化————————————>’,strrev(implode(str_split(strrev($str),3),’,’)),’
‘;
echo ‘第三种方法,调用系统函数number_format————————————>’,number_format($str),’


‘;

转义字符
$str = ‘we\’re here’;
echo ‘转义前:’,$str,’
‘;
echo ‘转义后:’,addslashes($str),’
‘;
echo ‘反转义后:’,stripslashes($str),’


‘;

把html实体转化为字符
$str = ‘讲html实体转化为字符‘;
echo ‘转义前:’,$str,’
‘;
echo ‘转义后:’,htmlspecialchars($str),’
‘;
echo ‘反转义后:’,htmlspecialchars_decode($str),’


‘;

字符串的大小写转换
echo ‘小写转换为大写:’,strtoupper(‘abcdefg’),’
‘;
echo ‘大写转换为小写:’,strtolower(strtoupper(‘abcdefg’)),’
‘;
echo ‘把首字母转换为大写:’,ucfirst(‘abcdefg’),’
‘;//ucfirst把首字母转换为大写

str_repeat()重复一个字符串,返回重复后的结果。
echo ‘├’.str_repeat(‘─’,1).$info,’
‘;

字符串比较,如果 str1 小于 str2,返回负数;如果 str1 大于 str2,返回正数;二者相等则返回 0。
$str1 = ‘abcd’;
$str2 = ‘abc’;
echo strcmp($str1,$str2);

常见的字符串面试题
echo ‘

常见的字符串面试题

‘;
echo ‘第一题 把第一个字符打印出来
‘;
$str = ‘abcdefg’;
echo ‘1、使用substr与strlen结合—————————->’,substr($str,0,-(strlen($str)-1)),’
‘;
echo ‘2、使用strstr、chunk_split结合———————–>’,strstr(chunk_split($str,1,’,’),’,’,true),’
‘;
echo ‘3、使用数组——————————————>’,current(str_split($str)),’
‘;
echo ‘4、用字符串索引打印——————————->’,$str[0],’
‘;
echo ‘5、直接用substr————————————–>’,substr($str,0,1),’
‘;
echo ‘第二题 如何实现字符串反转 [不允许用系统函数]
‘;
echo ‘先拆分成数组,在用数组函数反转,再转回字符串:’,implode(”,array_reverse(str_split($str))),’
‘;

检测常量是否定义
define(‘ROOT’,true)
echo defined(‘ROOT’)?’已定义’:exit(‘access declined’);

给我留言

留言无头像?


×
腾讯微博