国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

PHP 數(shù)組按多個字段排序實現(xiàn)代碼

2024-09-04 11:46:48
字體:
來源:轉載
供稿:網友

本文主要講述了用PHP語言實現(xiàn)數(shù)組按多個字段排序問題,附上代碼,有需要的朋友可以看一下。

題目:一個二維數(shù)組,需要按照庫存量排序,然后再按照門店距離排序。

發(fā)現(xiàn)了這樣一個這樣子的方法:

  1. $array1 = array
  2.  
  3.       0=>array('id'=>8,'name'=>'Apple','age'=> 18), 
  4.  
  5.       1=>array('id'=>8,'name'=>'Bed','age'=>17), 
  6.  
  7.       2=>array('id'=>5,'name'=>'Cos','age'=>16), 
  8.  
  9.       3=>array('id'=>5,'name'=>'Cos','age'=>14) 
  10.  
  11. ); 
  12.  
  13. function sortArrByManyField(){ 
  14.  
  15.   $args = func_get_args(); // 獲取函數(shù)的參數(shù)的數(shù)組 
  16.  
  17.   if(emptyempty($args)){ 
  18.  
  19.     return null; 
  20.  
  21.   } 
  22.  
  23.   $arr = array_shift($args); 
  24.  
  25.   if(!is_array($arr)){ 
  26.  
  27.     throw new Exception("第一個參數(shù)不為數(shù)組"); 
  28.  
  29.   } 
  30.  
  31.   foreach($args as $key => $field){ 
  32.  
  33.     if(is_string($field)){ 
  34.  
  35.       $temp = array(); 
  36.  
  37.       foreach($arr as $index=> $val){ 
  38.  
  39.         $temp[$index] = $val[$field]; 
  40.  
  41.       } 
  42.  
  43.       $args[$key] = $temp
  44.  
  45.     } 
  46.  
  47.   } 
  48.  
  49.   $args[] = &$arr;//引用值 
  50.  
  51.   call_user_func_array('array_multisort',$args); 
  52.  
  53.   return array_pop($args); 
  54.  
  55.  
  56. $arr = sortArrByManyField($array1,'id',SORT_ASC,'name',SORT_ASC,'age',SORT_DESC); 
  57.  
  58. print_r($arr); 

結果如下:

  1. <span style="color: #008080;"> array(4) {<br>      [0]=>array(3) {<br>            ["id"]=>int(5)<br>            ["name"]=>string(3) "Cos"<br>            ["age"]=>int(16)<br>          }<br>      [1]=>array(3) {<br>            ["id"]=>int(5)<br>            ["name"]=>string(3) "Cos"<br>            ["age"]=>int(14)<br>          }<br>      [2]=>array(3) {<br>            ["id"]=>int(8)<br>            ["name"]=>string(5) "Apple"<br>            ["age"]=>int(18)<br>          }<br>      [3]=>array(3) {<br>            ["id"]=>int(8)<br>            ["name"]=>string(3) "Bed"<br>            ["age"]=>int(17)<br>      }<br>    }</span><span style="color: #008080;"><br></span> 

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 桐柏县| 林西县| 湖口县| 措勤县| 龙游县| 闽侯县| 卓资县| 措美县| 武平县| 大厂| 泰州市| 鄄城县| 凤翔县| 云南省| 汉阴县| 元氏县| 门源| 三门县| 鄂尔多斯市| 汝南县| 瓦房店市| 沧州市| 南木林县| 博爱县| 桐庐县| 曲阜市| 健康| 东平县| 凤台县| 余江县| 永修县| 稷山县| 灯塔市| 怀仁县| 枞阳县| 新津县| 黑山县| 昔阳县| 道真| 安西县| 兴化市|