加入收藏 | 设为首页 | 会员中心 | 我要投稿 我爱制作网_池州站长网 (https://www.0566zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

3分钟短文 | PHP 多维数组按值排序,别抓狂看这里

发布时间:2022-11-25 12:45:03 所属栏目:PHP教程 来源:
导读:  引言

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

  今天说说一个稍显棘手的问题,多维数组的排
  引言
 
  如果你经常写 PHP,要说你没用过数组,那简直是不可能的。PHP 一个数组可以走遍大街小巷,行遍万水千山。数组相关的函数也马虎不得,如影随形。
 
  今天说说一个稍显棘手的问题,多维数组的排序。
 
  学习时间
 
  比如下面的数组,

  如果想要根据 order 的值进行排序(升序,降序),怎么做呢?
 
  你需要使用 usort 函数,且需要声明一个回调函数:
 
  function sortByOrder($a, $b) { return $a['order'] - $b['order'];}usort($myArray, 'sortByOrder');
 
  这在 PHP 5.2 以及早期的版本内如此使用PHP多维数组,之后的 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 同。
 
  写在最后
 
  因为处理的数组结构不可确定,在实际使用中,回调函数内开发者可灵活操作,已达到排序的目的。
 

(编辑:我爱制作网_池州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!