php多维数组排序函数(php数组排序的函数有哪些)

   日期:2022-02-25     文章发布:文章发布    网络转载:生活号    
核心提示:如果你经常写PHP,要说你没用过数组,那简直是不可能的。PHP一个数组可以走遍大街小巷,行遍万水千山。数组相关的函数也马虎不得,如影随形。 今天说说一个稍显棘手的问题,多维数组的排序。 学习时间 比如下面的数组, 如果想要根据order的值进行排序(升序,降序),怎么做呢? 你需要使用usort函数,且需要声明一个回调函数: functionsortByOrder($a,$b){ return$a...
移动站源标题:http://mip.818114.com/news/item-180311.html

如果你经常写 PHP,要说你没用过数组,那简直是不可能的。PHP 一个数组可以走遍大街小巷,行遍万水千山。数组相关的函数也马虎不得,如影随形。

今天说说一个稍显棘手的问题,多维数组的排序。

学习时间

比如下面的数组,

如果想要根据 order 的值进行排序(升序,降序),怎么做呢?

你需要使用 usort 函数,且需要声明一个回调函数:

function sortByOrder($a, $b) {
    return $a['order'] - $b['order'];
}

usort($myArray, 'sortByOrder');

这在 PHP 5.2 以及早期的版本内如此使用,之后的 PHP 版本,可以直接使用匿名函数,简写如下:

usort($myArray, function($a, $b) {
    return $a['order'] - $b['order'];
});

随着 PHP 版本的迭代,越来越多的新特性添加进去,特别是 PHP 7 以后的太空舱操作符,给这样的回调函数提供了更灵活简便的用法:

usort($myArray, function($a, $b) {
    return $a['order'] <=> $b['order'];
});

由特殊到一般

上面的函数处理都是针对特定的数组进行的,现在我们把情形推向一般,写一个可以通用的处理函数,可以用于对多位数组的排序处理:

特别地,如果你需要保留排序前后的键值索引关系,那么就要使用 uasort 函数了。用法与 usort 同。

写在最后

因为处理的数组结构不可确定,在实际使用中,回调函数内开发者可灵活操作,已达到排序的目的。

免责声明:本网部分文章和信息来源于互联网,本网转载出于传递更多信息和学习之目的,并不意味着赞同其观点或证实其内容的真实性,如有侵权请通知我们删除!(留言删除
 
 
更多>同类行业

同类新闻
最新资讯
最新发布
最受欢迎
网站首页  |  黄页  |  联系方式  |  信息  |  版权隐私  |  网站地图  |  API推送  |  网站留言  |  RSS订阅  |  违规举报  |  陇ICP备22000095号