首頁 >後端開發 >php教程 >php簡單實作多維數組排序的方法

php簡單實作多維數組排序的方法

高洛峰
高洛峰原創
2016-12-21 09:08:341254瀏覽

本文實例講述了php簡單實作多維數組排序的方法。分享給大家供大家參考,具體如下:

之前在做一個功能的時候,必須要把資料放到二維數組裡並且排序,然後上網找找解決思路,

這時候會用到array_multisort函數, array_multisort() 函數對多個數組或多維數組進行排序

先來看一個實例

<?php
$data=array(
0=>array(&#39;one&#39;=>34,&#39;two&#39;=>&#39;d&#39;),
1=>array(&#39;one&#39;=>45,&#39;two&#39;=>&#39;e&#39;),
2=>array(&#39;one&#39;=>47,&#39;two&#39;=>&#39;h&#39;),
3=>array(&#39;one&#39;=>12,&#39;two&#39;=>&#39;c&#39;),
4=>array(&#39;one&#39;=>15,&#39;two&#39;=>&#39;w&#39;),
5=>array(&#39;one&#39;=>85,&#39;two&#39;=>&#39;r&#39;),
);
foreach($data as $val){
$key_arrays[]=$val[&#39;one&#39;];
}
array_multisort($key_arrays,SORT_ASC,SORT_NUMERIC,$data);
var_dump($data);

輸出結果:按鍵值one排序,如下:

array
 0 => 
  array
   &#39;one&#39; => int 12
   &#39;two&#39; => string &#39;c&#39; (length=1)
 1 => 
  array
   &#39;one&#39; => int 15
   &#39;two&#39; => string &#39;w&#39; (length=1)
 2 => 
  array
   &#39;one&#39; => int 34
   &#39;two&#39; => string &#39;d&#39; (length=1)
 3 => 
  array
   &#39;one&#39; => int 45
   &#39;two&#39; => string &#39;e&#39; (length=1)
 4 => 
  array
   &#39;one&#39; => int 47
   &#39;two&#39; => string &#39;h&#39; (length=1)
 5 => 
  array
   &#39;one&#39; => int 85
   &#39;two&#39; => string &#39;r&#39; (length=1)

php 多維數組排序

下面來包裝成函數方便

function my_array_multisort($data,$sort_order_field,$sort_order=SORT_ASC,$sort_type=SORT_NUMERIC){
foreach($data as $val){
$key_arrays[]=$val[$sort_order_field];
}
array_multisort($key_arrays,SORT_ASC,SORT_NUMERIC,$data);
rturn $data;
}

希望本文所述對大家PHP程式設計有所幫助。

更多php簡單實作多維數組排序的方法相關文章請關注PHP中文網!


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn