无名 发表于 2022-5-8 18:53:43

PHP 数组排序


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

升序:从小到大的顺序进行排序,如果是英文单词,那么按字母A-Za-z的顺序排序,如果是数字,那么按数字的大小进行排序。

降序:与升序相反

数组排序函数


在本章中,我们将一一介绍下列 PHP 数组排序函数:

·   sort() - 对数组进行升序排列

·   rsort() - 对数组进行降序排列

·   asort() - 根据关联数组的值,对数组进行升序排列

·   ksort() - 根据关联数组的键,对数组进行升序排列

·   arsort() - 根据关联数组的值,对数组进行降序排列

·   krsort() - 根据关联数组的键,对数组进行降序排列


sort()函数


注:sort大多是用来排序数字索引数组的,如果把一个关联数组放到sort里排序,那么数组的键会丢失

实例


下面的实例将数组中的元素按照升序排列:


<?php
$sum=array(100,25,85,68,Y,M,w,s,a,H,45,A,P);
sort($sum);
print_r($sum);
?>
下面是程序运行结果:http://cdn.u1.huluxia.com/g3/M01/DE/68/wKgBOV2WrpWAdpqfAAAK08CXDGQ904.png
通过上面的例子可以看出来,我们已经用sort()函数,对数组进行了升序排序,你不妨将sort()函数 换成rsort() 看看有什么变化吧。

小思考

既然关联数组不能使用sort来排序,那么应该使用什么函数呢?

这就要用到我们下面所学的asort()函数了


asort()函数

实例


下面的实例根据数组的值,对关联数组进行升序排列:

<?php
$age=array("Tom"=>"25","Andy"=>"18","Joe"=>"23","Ben"=>"28");
asort($age);
print_r($age);
?>

通过上面例子的运行结果我们可以看到asort()函数实际上是使用数组的值进行排序的,那么如果想对键进行排序,我们可以使用

ksort()函数

ksort()函数

实例

下面的实例根据数组的键,对关联数组进行升序排列:

<?php
$age=array("Tom"=>"25","Andy"=>"18","Joe"=>"23","Ben"=>"28");
ksort($age);
print_r($age);
?>
上面的几个例子我们都是对数组进行升序排序,你们不妨试着看进行对数组进行降序排序,用法都是相同的。试试看吧http://cdn.u1.huluxia.com/g3/M01/DE/68/wKgBOV2WrpWALUDqAAFFyy4BVVA430.png
http://cdn.u1.huluxia.com/g3/M01/DE/68/wKgBOV2WrpaADGj6AACAVgZ3B-Q966.jpg
页: [1]
查看完整版本: PHP 数组排序