php中按大小进行排序的函数有哪些

爱蒂网

php中按大小进行排序的函数有哪些

2020-04-01 00:31:05 分类 / 网络编程 来源 / 互联网

“php”中按大小进行排序的函数有:一、使用“sort”函数对数值数组进行升序排序;二、使用“rsort”函数对数值数组进行降序排序;三、使用“usort”函数根据用户自定义的比较函数对数组进行排序。

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教程

以上就是php中按大小进行排序的函数有哪些的详细内容,更多请关注爱蒂网其它相关文章!

猜你喜欢