怎么用PHP实现二维数组按照键值排序

本篇文章是关于用PHP实现二维数组按照键值排序的方法, 具有一定的参考价值,感兴趣的朋友一定要了解一下。

在开发过程中,我们常常需要对二维数组按照数组的某个键来排序,这里提供两个封装好的方法,可以放到公共函数模块里以后需要的时候直接调用即可。

  1. /**
  2. * 二维数组按照键值降序排序
  3. * @param array $arr 待排序数组
  4. * @param string $key 键值
  5. * @return mixed
  6. */
  7. function sortByKeyDesc($arr, $key) {
  8. array_multisort(array_column($arr, $key), SORT_DESC, $arr);
  9. return $arr;
  10. }
  11. /**
  12. * 二维数组按照键值升序排序
  13. * @param array $arr 待排序数组
  14. * @param string $key 键值
  15. * @return mixed
  16. */
  17. function sortByKeyAsc($arr, $key) {
  18. array_multisort(array_column($arr, $key), SORT_ASC, $arr);
  19. return $arr;
  20. }
  21. $arr = [
  22. ['name' => 'itbsl', 'priority' => 23],
  23. ['name' => 'jack', 'priority' => 3],
  24. ['name' => 'rose', 'priority' => 12],
  25. ['name' => 'pick', 'priority' => 45],
  26. ['name' => 'binbin', 'priority' => 68],
  27. ['name' => 'didi', 'priority' => 56789],
  28. ['name' => 'mobike', 'priority' => 0],
  29. ];
  30. //把数组arr按照priority的值降序(从大到小)排序
  31. $result = sortByKeyDesc($arr, 'priority');