当前位置:首页 > PHP教程 > php数组 > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2020-03-30 22:53:24 浏览: 评论:0 

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

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

  1. /** 
  2.  
  3.  * 二维数组按照键值降序排序 
  4.  
  5.  * @param array $arr   待排序数组 
  6.  
  7.  * @param string $key  键值 
  8.  
  9.  * @return mixed 
  10.  
  11.  */ 
  12.  
  13. function sortByKeyDesc($arr, $key) { 
  14.  
  15.   
  16.  
  17.     array_multisort(array_column($arr, $key), SORT_DESC, $arr); 
  18.  
  19.     return $arr; 
  20.  
  21.   
  22.  
  23. } 
  24.  
  25.   
  26.  
  27. /** 
  28.  
  29.  * 二维数组按照键值升序排序 
  30.  
  31.  * @param array $arr   待排序数组 
  32.  
  33.  * @param string $key  键值 
  34.  
  35.  * @return mixed 
  36.  
  37.  */ 
  38.  
  39. function sortByKeyAsc($arr, $key) { 
  40.  
  41.   
  42.  
  43.     array_multisort(array_column($arr, $key), SORT_ASC, $arr); 
  44.  
  45.     return $arr; 
  46.  
  47.   
  48.  
  49. } 
  50.  
  51. $arr = [ 
  52.  
  53.     ['name' => 'itbsl', 'priority' => 23], 
  54.  
  55.     ['name' => 'jack', 'priority' => 3], 
  56.  
  57.     ['name' => 'rose', 'priority' => 12], 
  58.  
  59.     ['name' => 'pick', 'priority' => 45], 
  60.  
  61.     ['name' => 'binbin', 'priority' => 68], 
  62.  
  63.     ['name' => 'didi', 'priority' => 56789], 
  64.  
  65.     ['name' => 'mobike', 'priority' => 0], 
  66.  
  67. ]; 
  68.  
  69. //把数组arr按照priority的值降序(从大到小)排序 
  70.  
  71. $result = sortByKeyDesc($arr, 'priority'); 

Tags: PHP二维数组排序

分享到: