发布网友 发布时间:2022-04-25 00:17
共2个回答
懂视网 时间:2022-04-29 14:43
1、sort()简单排序
sort() 函数对数值数组进行升序排序。
将一个数组元素从低到高进行简单排序,这个函数既可以按数字大小排列也可以按字母顺序排列。
实例如下:
<?php $data = array(5,8,1,7,2); sort($data); print_r($data); ?>
输出结果如下所示:
Array ( [0] => 1 [1] => 2 [2] => 5 [3] => 7 [4] => 8 )
学习视频教程推荐:php视频教程
2、rsort()简单排序倒序
rsort() 函数对数值数组进行降序排序。
rsort()函数对数组元素进行从高到低的倒排,同样可以按数字大小排列也可以按字母顺序排列。
实例如下:
<?php $data = array(5,8,1,7,2); rsort($data); print_r($data); ?>
它的输出结果如下:
Array ([0] => 8 [1] => 7 [2] => 5 [3] => 2 [4] => 1 )
3、usort()根据用户自定义的规则排序
usort() 使用用户自定义的比较函数对数组进行排序。
PHP能让你定义自己的排序算法,你可以通过创建你自己的比较函数,并把它传递给usort()函数。
如果第一个参数比第二个参数“小”的话,比较函数必须返回一个比0小的数,如果第一参数比第二个参数“大”的话,比较函数应该返回一个比0大的数。
在下面的例子中根据它们的长度对数组元素进行排序,最短的项放在最前面:sortByLen 里面必须是固定格式。
实例如下:
<?php $data = array("joe@", "@", "asmithsonian@", "jay@"); usort($data, 'sortByLen'); print_r($data); function sortByLen($a, $b) { if (strlen($a) == strlen($b)) { return; } else { return (strlen($a) > strlen($b)) ? 1 : -1; } } ?>
这样,就创建了我们自己的比较函数,这个函数使用strlen()函数比较每一个字符串的个数,然后分别返回1、0或-1。这个返回值是决定元素排列的基础。
输出结果:
Array ( [0] => @ [1] => joe@ [2] => jay@ [3] => asmithsonian@ )
推荐相关文章教程:php教程
热心网友 时间:2022-04-29 11:51
定义和用法
arsort() 函数对关联数组按照键值进行降序排序。
提示:请使用 asort() 函数对关联数组按照键值进行升序排序。
提示:请使用 krsort() 函数对关联数组按照键名进行降序排序。
语法
arsort(array,sortingtype);
参数描述
array必需。规定要进行排序的数组。
sortingtype
可选。规定如何排列数组的元素/项目。可能的值:
0 = SORT_REGULAR - 默认。把每一项按常规顺序排列(Standard ASCII,不改变类型)
1 = SORT_NUMERIC - 把每一项作为数字来处理。
2 = SORT_STRING - 把每一项作为字符串来处理。
3 = SORT_LOCALE_STRING - 把每一项作为字符串来处理,基于当前区域设置(可通过 setlocale() 进行更改)。
4 = SORT_NATURAL - 把每一项作为字符串来处理,使用类似 natsort() 的自然排序。
5 = SORT_FLAG_CASE - 可以结合(按位或)SORT_STRING 或 SORT_NATURAL 对字符串进行排序,不区分大小写。
定义和用法
asort() 函数对关联数组按照键值进行升序排序。
提示:请使用 arsort() 函数对关联数组按照键值进行降序排序。
提示:请使用 ksort() 函数对关联数组按照键名进行升序排序。
语法
asort(array,sortingtype);
参数描述
array必需。规定要进行排序的数组。
sortingtype
可选。规定如何排列数组的元素/项目。可能的值:
0 = SORT_REGULAR - 默认。把每一项按常规顺序排列(Standard ASCII,不改变类型)
1 = SORT_NUMERIC - 把每一项作为数字来处理
2 = SORT_STRING - 把每一项作为字符串来处理
3 = SORT_LOCALE_STRING - 把每一项作为字符串来处理,基于当前区域设置(可通过 setlocale() 进行更改)
4 = SORT_NATURAL - 把每一项作为字符串来处理,使用类似 natsort() 的自然排序
5 = SORT_FLAG_CASE - 可以结合(按位或)SORT_STRING 或 SORT_NATURAL 对字符串进行排序,不区分大小写