數字索引陣列:
bool usort( array &$array, callback $cmp_function )
usort函式對指定陣列(引數1)按指定方式(引數2)進行排序。
當我們想對多維陣列進行排序時,多維陣列的每個元素又是一陣列型別,而兩個陣列如何比較大小?這是需要使用者自定義的(是按每個陣列的第一元素比較還是…)。
複製**
**如下:
<?php
//定義多維陣列
$a = array(
array("sky", "blue"),
array("tree", "green"));
//自定義陣列比較函式,按陣列的第二個元素進行比較。
function my_compare($a, $b)
//排序
usort($a, 'my_compare');
//輸出結果
foreach($a as $elem)
?>
結果為:
複製**
**如下:
sky : blue
tree : green
關聯陣列:
bool uasort(array &$array, callback $cmp_function)
bool uksort(array &$array, callback $cmp_function)
uasort, uksort用法與usort相同,其中uasort()對關聯陣列的值(value)進行排序,uksort()對關聯陣列的關鍵字(key)進行排序。
複製**
**如下:
<?php
$a = array(
'sunday' => array(0,'7th'),
'friday' => array(5,'5th'),
'tuesday'=> array(2,'2nd'));
function my_compare($a, $b)
//按$a陣列的值的第二個元素(7th,5th,2nd)進行排序
uasort($a, 'my_compare');
foreach($a as $key => $value)
//按$a陣列的關鍵字的第二個字元(r,u,u)進行排序
uksort($a, 'my_compare');
foreach($a as $key => $value)
?>
結果為:
tuesday : 2 2nd
friday : 5 5th
sunday : 0 7th
friday : 5 5th
sunday : 0 7th
tuesday : 2 2nd
php 多維陣列排序
之前在做乙個功能的時候,必須要把資料放到二維陣列裡並且排序,然後上網找找解決思路,這時候會用到array multisort函式,在那之前我都不知道有這個函式 array multisort 函式對多個陣列或多維陣列進行排序 先來看乙個例項 data array 0 array one 34,two...
PHP多維陣列排序
在php中,對各種陣列排序,歸功於陣列函式 sort ksort rsort asort 等,使用他們進行各種排序,但是用於多維陣列就沒那麼方便簡單。這篇文章介紹 usort 和 array multisort 處理多維陣列排序。對於多維緯度排序使用usort 函式 自定義的比較函式對陣列中的元素進...
php多維陣列排序
問題 有這樣乙個陣列 arr 1 array 3 2 array 3 要求按照時間20140626 190411來排序 這個用到了php的多維陣列排序array mutisort 函式,用法如下 foreach arr as key row 0 9 row 0 match 使用正則表達從 r1822...