数组的排序
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);
?>点击 "运行实例" 按钮查看在线实例
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号