1. 程式人生 > >關於回調函數 usort() uksrot() sort() 介紹簡介【實驗是從小到大排序】

關於回調函數 usort() uksrot() sort() 介紹簡介【實驗是從小到大排序】

[1] 實驗 cmp function 重新 進行 each 對數 大於

/*
* usort($arr, "自定義回調函數") 對數組中的值進行比較
*/
$a=array(1,5,2,6,3); //用戶自定義回調函數
function dd($a, $b){ //用戶自定義回調函數
if($a == $b){
return 0; //如果兩個參數相等,返回0
}
return ($a<$b)?-1:1; //如果第1個參數大於第2個返回1,否則-1
}

usort($a, "dd"); //使用自定義函數對數組鍵名,按照自定義的回調函數排序

foreach($a as $key=>$value){ //循環輸出排序後的鍵值對
echo "$key:$value<br/>";
}

/*運行結果

0:1
1:2
2:3
3:5
4:6

*/

/*
* uksort($arr, "自定義回調函數") 對數組中的鍵名進行排序
*/
$a=array(4=>"four",3 =>"three",20 =>"twenty",10=>"ten"); //定義一個數組 //用戶自定義回調函數
function cmp($a, $b){ //用戶自定義回調函數
if($a == $b){
return 0; //如果兩個參數相等,返回0
}
return ($a<$b)?-1:1; //如果第1個參數大於第2個返回1,否則-1
}

uksort($a, "cmp"); //使用自定義函數對數組鍵名,按照自定義的回調函數排序

foreach($a as $key=>$value){ //循環輸出排序後的鍵值對
echo "$key:$value<br/>";
}

/*運行結果

3:three
4:four
10:ten
20:twenty

*/

/*
*sort($arr") 當本函數結束時數組單元將被從最低到最高重新安排。 【原有的鍵名將被刪除】
*/
$arr= array("one"=>1,4,5,2,3,6);
sort($arr);
print_r($arr);
echo "<br/>";

/*

運行結果

Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 )

*/

關於回調函數 usort() uksrot() sort() 介紹簡介【實驗是從小到大排序】