数组的排序
sort(&$arr, $flag) 按值升序排列,键名按索引方式重置
asort(&$arr,$flag) 按值升序排列,键名保留与值的对应
ksort(&$arr,$flag) 按键名升序排列,适合于关联数组,键值对应关系不变
反序: reversal 反转,函数前添加一个r即可
rsort(&$arr, $flag):对数组逆向排序
arsort(&$arr, $flag):对数组进行逆向排序并保持索引关系
krsort(&$arr, $flag):对数组按照键名逆向排序
字符串长度计算
strlen($str):获取字节表示的字符串长度
utf8模式下,一个中文字符用三个字节表示
mb_strlen($str, $encoding) :获取字符数表示的长度
省略第二个参数,会使用系统默认的字符编码集,当前是utf-8
字符串与数组之间转换
str_split($str,$length=1),按字符数量,将字符串分割为数组,默认为1
explode($delimiter,$str,$num):按分隔符,将字符串分割为数组,可指定数组元素数量
implode($glue, $str):按分隔符,将一维数组拼装成字符串,默认用空格分隔
查找与替换
strpos($str1,$str2, $offset)查找$str1在$str1中首次出现的位置
strstr($str1, $str2),如果$str2是$str1的子串,返回子串,返回否则false
如果确定$str2是$str1的子串,推荐使用strpos(),速度更快
str_replace($str1, $str2, $str3, $num):子串替换,$num是替换次数
substr_replace($str1,$str2,$str3,$start, $length):替换字符串的子串
<?php //数组的排序 $arr = [2,4,3,5,1]; sort($arr); print_r($arr); echo '<hr>'; asort($arr); print_r($arr); echo '<hr>'; ksort($arr); print_r($arr); echo '<hr>'; rsort($arr); print_r($arr); echo '<hr>'; arsort($arr); print_r($arr); echo '<hr>'; krsort($arr); print_r($arr); echo '<hr>'; //字符串长度计算 $str = '我的名字叫nick'; //获取内部字符编码集 $encoding = 'UTF-8'; //1.strlen($str):获取字节表示的字符串长度 //utf8模式下,一个中文字符用三个字节表示 echo strlen($str),'<br>'; //2.mb_strlen($str, $encoding) :获取字符数表示的长度 echo mb_strlen($str,$encoding),'<br>'; //省略第二个参数,会使用系统默认的字符编码集,当前是utf-8 echo mb_strlen($str),'<br>'; //返回值不变 //字符串与数组之间的转换 //explode($delimiter,$str,$num):按分隔符,将字符串分割为数组,可指定数组元素数量 $str2 = '1,2,3,4,5'; print_r(explode(',',$str2)); //用','号进行分割字符串 print_r(explode(',',$str2,4)); //指定数组必须是5个元素,最后一个元素保存全部剩余数据 echo '<hr>'; //implode($glue, $str):按分隔符,将一维数组拼装成字符串,默认用空格分隔 $arr2 = explode(',', $str2); echo implode(' ', $arr2), '<br>'; //用空格分隔 echo implode(',',$arr2), '<br>'; //用,分隔 echo implode('--',$arr2), '<br>'; //用--分隔 //字符串的查找与替换 $str3 = '12345'; //1.strpos($str,$needle, $offset)查找字符串首次出现的位置 echo strpos($str3, '1'),'<br>'; //默认从头开始查找 echo strpos($str3, '1', 2),'<br>'; //从索引2开始查找 echo '<hr>'; //2.strstr($str1, $str2),如果$str2是$str1的子串,返回子串,返回否则false echo strstr($str3, '3'),'<br>'; //返回子串及后面部分 echo strstr($str3, '5', true),'<br>'; //参数true,会返回子串前面部分 //3.str_replace($str1, $str2, $str3, $num):子串替换, echo str_replace('12','21',$str3), '<br>'; echo '<hr>'; //4.substr_replace($str1,$str2,$str3,$start, $length):替换字符串的子串 //在$str中,从第5个索引位置起的2个字符,用'pppph'进行替换 echo substr_replace($str3,'6', 3, 2); ?>
点击 "运行实例" 按钮查看在线实例