首頁  >  文章  >  後端開發  >  alwayscomebacktoyourlove PHP 多維數組排序usort,uasort

alwayscomebacktoyourlove PHP 多維數組排序usort,uasort

WBOY
WBOY原創
2016-07-29 08:43:071335瀏覽

數字索引數組:
bool usort( array &$array, callback $cmp_function )
usort函數對指定數組(參數1)按指定方式(參數2)進行排序。
當我們想要對多維數組進行排序時,多維數組的每個元素又是一數組類型,而兩個數組如何比較大小?這是需要使用者自訂的(是按每個陣列的第一元素比較還是…)。

複製程式碼 程式碼如下:


//定義多維數組
$a = array (
array("sky", "blue"),
array("apple", "red"),
array("tree", "green"));
//自定義數組比較函數,並按數組的第二個元素進行比較。
function my_compare($a, $b) {
if ($a[1] return -1;
else if ($a[1] == $b[1])
return 0;
else
return 1;
}
//排序
usort($a, 'my_compare');
///輸出結果
foreach($a as $elem) {
echo "$elem[0] : $elem[1]
";
}
?>


結果為:

複製程式碼 程式碼如下:


sky : blue
tree tree >apple : red

關聯數組:
bool uasort(array &$array, callback $cmp_function)
bool uksort(array &$array, callback $ccmp_function)

複製程式碼 程式碼如下:

$a = array( 'Sunday' = > array(0,'7th'),
'Friday' => array(5,'5th'),
'Tuesday'=> array(2,'2nd'));
function my_compare ($a, $b) {
if ($a[1] return -1;
else if ($a[1] == $b[1] )
return 0;
else
return 1;
}
//按$a數組的值的第二個元素(7th,5th,2nd)進行排序
uasort ($a, 'my_compare');
foreach($a as $key => $value) {
echo "$key : $value[0] $value[1]
";
}
//按$a數組的關鍵字的第二個字元(r,u,u)進行排序
uksort($a, 'my_compare');
foreach($a as $key => $value) {
echo "$key : $value[0] $value[1]
";
}
?>


結果為:
Tuesday : 2 2nd Frid​​ay : 5 5th
Sunday : 0 7th
Frid​​ay : 5 5th
Sunday : 0 7th 以上就介紹了alwayscomebacktoyourlove PHP 多維數組排序usort,uasort,包括了alwayscomebacktoyourlove方面的內容,希望對PHP教程有興趣的朋友有所幫助。


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