Correcting teacher:天蓬老师
Correction status:qualified
Teacher's comments:字符串函数很多, 常用的其实并不多的, 不必担心
常用字符串函数举例:
<?php
//字符串函数
//1.strrev:反转字符串,返回反转后的字符串
$str = 'abcdefg';
echo strrev($str);
//输出结果:abcdefg
echo '<hr>';
//2.urlencode():编码url字符串,对中文和特殊符号转码
//urldecode():解码url字符串,还原
$str = 'name=张三&email=hdh@qq.com';
echo $url = urlencode($str),'<br>';
//输出结果:name%3D%E5%BC%A0%E4%B8%89%26email%3Dhdh%40qq.com
echo urldecode($url);
//输出结果:name=张三&email=hdh@qq.com
echo '<hr>';
//3.http_build_query()
echo http_build_query(['time'=>20200426,'amount'=>253.35]);
//输出结果:time=20200426&amount=253.35
echo '<hr>';
//4.substr_replace:按位置进行字符串替换,length汉字按字节算的,替换中文字符后两参数需为3的倍数
// str_replace: 按查询进行替换
$str = '这是一段演示文本,是吗?';
echo substr_replace($str,'AA',3,6),'<br>';
//输出结果:这AA段演示文本,是吗?
echo substr_replace($str,'AA',2,6),'<br>';
//输出结果:�AA�段演示文本,是吗? //出现乱码
echo str_replace('是','不是',$str,$count),'<br>';
//输出结果:这不是一段演示文本,不是吗?
echo $count,'<br>';//输出:2//替换了2次
//使用数组进行多个值替换
echo str_replace(['演','示'],['正','式'],$str,$count);
//输出结果:这是一段正式文本,是吗?
echo '<hr>';
//5.str_pad():字符串填充函数,长度单位为字节
echo str_pad('恍恍惚惚',15,'1');
//输出结果:恍恍惚惚111 //4*3+3=15
echo '<hr>';
//6.strrpos、strpos、stripos
//strpos:查找字符串在另一字符串中第一次出现的位置,区分大小写
$str = 'PHP is the best programming language in the world.PHP:???';
var_dump(strpos($str,'php'));
echo '<br>',strpos($str,'PHP');//输出结果:bool(false),0
//strrpos:查找字符串在另一字符串中最后一次出现的位置,区分大小写
echo '<br>',strrpos($str,'PHP');//输出结果:50
//stripos:查找字符串在另一字符串中第一次出现的位置,不区分大小写
echo '<br>',strripos($str,'php');//输出结果:50
//7.str_shuffle:随机打乱字符串
echo '<br>',str_shuffle($str);
//输出结果:em? bP Pil n ?lHmpgdtoas?tggirPnr.sPw:gahH iheruenot a e
//8.strnatcasecmp 以自然算法比较2个字符串 //
echo '<br>','100h'>'20h'?1:-1;//输出结果:-1
echo '<br>',strnatcasecmp('100h','20h');//输出结果:1
//9.usort():用自定义函数对数组进行排序
$arr = ['5元','15元','10元','50元','300元'];
//使用计算机算法比较
function compare1($a,$b){
if($a===$b){
return 0;
}
return $a>$b?1:-1;
}
//使用“自然”算法比较
function compare2($a,$b){
return strnatcasecmp($a,$b);;
}
usort($arr,'compare1');
print_r($arr);
//输出结果:Array ( [0] => 10元 [1] => 15元 [2] => 300元 [3] => 50元 [4] => 5元 )
usort($arr,'compare2');
print_r($arr);
//输出结果:Array ( [0] => 5元 [1] => 10元 [2] => 15元 [3] => 50元 [4] => 300元 )