数组中的元素可以按字母或数字顺序进行降序或升序排列。
PHP - 数组排序函数
在本章中,我们将一一介绍下列 PHP 数组排序函数:
sort() - 对数组进行升序排列
rsort() - 对数组进行降序排列
asort() - 根据关联数组的值,对数组进行升序排列
ksort() - 根据关联数组的键,对数组进行升序排列
arsort() - 根据关联数组的值,对数组进行降序排列
krsort() - 根据关联数组的键,对数组进行降序排列
sort() - 对数组进行升序排列
下面的实例将 $cars 数组中的元素按照字母升序排列:
实例
<?php $cars=array("Volvo","BMW","Toyota"); sort($cars); print_r($cars); ?>
尝试一下 »
下面的实例将 $numbers 数组中的元素按照数字升序排列:
实例
<?php $numbers=array(4,6,2,22,11); sort($numbers); print_r($numbers); ?>
尝试一下 »
rsort() - 对数组进行降序排列
下面的实例将 $cars 数组中的元素按照字母降序排列:
实例
<?php $cars=array("Volvo","BMW","Toyota"); rsort($cars); print_r($cars); ?>
尝试一下 »
下面的实例将 $numbers 数组中的元素按照数字降序排列:
实例
<?php $numbers=array(4,6,2,22,11); rsort($numbers); print_r($numbers); ?>
尝试一下 »
asort() - 根据数组的值,对数组进行升序排列
下面的实例根据数组的值,对关联数组进行升序排列:
实例
<?php $age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43"); asort($age); print_r($age); ?>
尝试一下 »
ksort() - 根据数组的键,对数组进行升序排列
下面的实例根据数组的键,对关联数组进行升序排列:
实例
<?php $age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43"); ksort($age); print_r($age); ?>
尝试一下 »
arsort() - 根据数组的值,对数组进行降序排列
下面的实例根据数组的值,对关联数组进行降序排列:
实例
<?php $age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43"); arsort($age); print_r($age); ?>
尝试一下 »
krsort() - 根据数组的键,对数组进行降序排列
下面的实例根据数组的键,对关联数组进行降序排列:
实例
<?php $age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43"); krsort($age); print_r($age); ?>
尝试一下 »
还有2个函数说明一下:
1.shuffle 随机乱序
shuffle函数可以对数组中的元素进行随机的排序
实例
<?php $numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; shuffle($number); print_r($number); ?>
每次执行上面的代码,输出的顺序各不相同, 注意:关联数组被shuffle后,键会丢失
2. array_reverse 反序函数
反序是将一个原始的数组中的每个元素的顺序翻转 反序 ≠ 降序
如果数组为关联数组:
键为字符时反序不受影响,键仍然会保留
键是数字时,反序后默认键会重置为0、1、2……
第二个参数为true时,键为数字,反序保留数字键
实例
<?php $names = [10 => '张三', 60 => '阿毛', 30 => '李四', 25 => '宝哥']; print_r(array_reverse($names)); print_r(array_reverse($names, true)); ?>
完整的 PHP Array 参考手册
如需查看所有数组函数的完整参考手册,请访问我们的 PHP Array 参考手册。
该参考手册提供了每个函数的简要描述和应用实例!