首页 热点资讯 义务教育 高等教育 出国留学 考研考公

php中和值相关的排序有哪些函数?

发布网友 发布时间: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 对字符串进行排序,不区分大小写

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com