批改状态:未批改
老师批语:
数组的排序
数组的排序主要是根据键名和值来进行升序或降序的排序,key:ksort、uksort、krsort
值:sort、rsort,usort,代码如下:
//1.升序
$arr = [23,34,11,55,66,22,1,4];
sort($arr);//返回布尔值
//var_dump(sort($arr));
echo var_export($arr,true),'<hr>';
//2.降序
$arr = [23,34,11,55,66,22,1,4];
rsort($arr);
echo var_export($arr,true),'<hr>';
//3.回调 usort 参数里的回调函数只返回1,-1,0这3个值
$arr = [23,34,11,55,66,22,1,4,1];
usort($arr, function ($var1,$var2){
return $var1 >$var2 ? 1:-1;
});
echo var_export($arr,true),'<hr>';
//usort 二维数组的排序
$stu = [
['name'=>'林心如','grade'=>98],
['name'=>'范冰冰','grade'=>55],
['name'=>'左小青','grade'=>73],
];
usort($stu, function ($var1,$var2){
//return $var1['grade']>$var2['grade']? 1:-1;
return strcmp($var1['grade'],$var2['grade']);
//strcmp比较字符串的大小,先比较长度,再比较字符串大小,区分大小写
});
print_r($stu);
echo '<hr>';
//根据键名进行排序ksort
$lang = ['html'=>'标记语言','css'=>'样式表','js'=>'前端脚本','php'=>'后端脚本'];
ksort($lang);
echo var_export($lang),'<hr>';
$lang = ['html'=>'标记语言','css'=>'样式表','js'=>'前端脚本','php'=>'后端脚本'];
krsort($lang);
echo var_export($lang),'<hr>';
//根据键名的第二个字母进行排序
$lang = ['html'=>'标记语言','css'=>'样式表','js'=>'前端脚本','php'=>'后端脚本'];
uksort($lang, function ($m , $n){
$a = substr($m,1,1);//substr()截取子字符串
$b = substr($n,1,1);
return strcmp($a,$b);
});
print_r($lang);点击 "运行实例" 按钮查看在线实例
str_repalce可以替换整个字符串或部分字符串,而substr_replace的查找更加精确,要指定替换开始的位置以及替换的长度,默认会替换后面的整个部分。 代码如下:
//str_replace()/substr_replace() 替换 echo str_replace($str,'java',$str); echo '<hr>'; echo substr_replace($str,'was',4,2);
点击 "运行实例" 按钮查看在线实例
这三个函数都可以用来查找字符串,substr用来截取子字符串,strstr查找的是前面部分或者后面部分,而strspos则是查找字符串首次出现的位置。 代码如下:
//1.substr() 获取子字符串,字符串位置从0开始 $str = 'php is the best language'; echo substr($str,7,4),'<hr>'; //2.strstr()、strpos() //strstr:返回查找字符串到结尾,区分大小写,true就返回前面部分,不包括查找的字符串 echo strstr($str,'t',true),'<br>'; //strpos(): 查找首次出现的位置 echo strpos($str,'is'),'<hr>';
点击 "运行实例" 按钮查看在线实例
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号