sort() 是一个 PHP 函数,用于对数组进行升序排列,相反,rsort() 函数则是降序排列.sort() 函数使用内部算法对数组处理,而不是使用外来程序库.
$arr = array(5,3,7,1,9); sort($arr); print_r($arr); /*输出: Array ( [0] => 1 [1] => 3 [2] => 5 [3] => 7 [4] => 9 ) */
sort() 函数有两个必需参数,其中第一个参数是待排序的数组,第二个参数是可选的排序方式.
①.表示升序排列,即从小到大排序;
0或未传入参数表示降序排列,即从大到小排序.
$arr = array(5,3,7,1,9); sort($arr, 1); print_r($arr); /*输出: Array ( [0] => 1 [1] => 3 [2] => 5 [3] => 7 [4] => 9 ) */ $arr = array(5,3,7,1,9); sort($arr, 0); print_r($arr); /*输出: Array ( [0] => 9 [1] => 7 [2] => 5 [3] => 3 [4] => 1 ) */
sort() 函数也可以使用在字符串中,可以进行简单的字母排序,将单词按字母顺序重排.例如:
$str = "hello world"; $arr = str_split($str); sort($arr); $str = implode("", $arr); echo $str; /*输出: dehllloorw */
当需要对中文字符串进行排序时,需要使用到 ICU 的支持.可以使用 intl 扩展来实现,具体代码如下:
if (extension_loaded("intl")) { $arr = array("北京", "上海", "深圳", "广州"); $arrLenth = []; foreach ($arr as $value) { $arrLenth[] = grapheme_strlen($value); } array_multisort($arrLenth, SORT_ASC, $arr); print_r($arr); } else { echo "intl扩展未安装"; } /*输出: Array ( [0] => 北京 [1] => 广州 [2] => 上海 [3] => 深圳 ) */
$arr = array( array("name" => "张三", "age" => 20), array("name" => "李四", "age" => 18), array("name" => "王五", "age" => 22), ); usort($arr, function ($a, $b) { if ($a["age"] == $b["age"]) { return 0; } return ($a["age"] < $b["age"]) ? -1 : 1; }); print_r($arr); /*输出: Array ( [0] => Array ( [name] => 李四 [age] => 18 ) [1] => Array ( [name] => 张三 [age] => 20 ) [2] => Array ( [name] => 王五 [age] => 22 ) ) */
sort() 函数是 PHP 中实现简单快捷的数组排序的常用函数,但使用时需要注意在字符串/中文字符串/多维数组的排序情况下,需要特别处理,才能实现符合需求的排序.
以上就是土嘎嘎小编为大家整理的PHP中使用sort函数对数组进行排序相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!