无名商城论坛

搜索
查看: 372|回复: 0

[其他技术] PHP 数组排序

[复制链接]

1万

主题

1万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
32464
发表于 2022-5-8 18:53:43 | 显示全部楼层 |阅读模式

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);
?>
下面是程序运行结果:
通过上面的例子可以看出来,我们已经用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);
?>
上面的几个例子我们都是对数组进行升序排序,你们不妨试着看进行对数组进行降序排序,用法都是相同的。试试看吧

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表