PHP 数组排序

数组中的元素可以按字母或数字顺序进行降序或升序排列。

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 参考手册。

该参考手册提供了每个函数的简要描述和应用实例!


继续学习
||
<?php $numbers=array(4,6,2,22,11); sort($numbers); print_r($numbers); ?>
提交重置代码