当前位置:首页 > 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.  * @param array $arr   待排序数组 
  31.  
  32.  * @param string $key  键值 
  33.  
  34.  * @return mixed 
  35.  
  36.  */ 
  37.  
  38. function sortByKeyAsc($arr$key) { 
  39.  
  40.   
  41.  
  42.     array_multisort(array_column($arr$key), SORT_ASC, $arr); 
  43.  
  44.     return $arr
  45.  
  46.   
  47.  
  48.  
  49. $arr = [ 
  50.  
  51.     ['name' => 'itbsl''priority' => 23], 
  52.  
  53.     ['name' => 'jack''priority' => 3], 
  54.  
  55.     ['name' => 'rose''priority' => 12], 
  56.  
  57.     ['name' => 'pick''priority' => 45], 
  58.  
  59.     ['name' => 'binbin''priority' => 68], 
  60.  
  61.     ['name' => 'didi''priority' => 56789], 
  62.  
  63.     ['name' => 'mobike''priority' => 0], 
  64.  
  65. ]; 
  66.  
  67. //把数组arr按照priority的值降序(从大到小)排序 
  68.  
  69. $result = sortByKeyDesc($arr'priority'); 

Tags: PHP二维数组排序

分享到: