這是一個非常深奧的問題,但我真的很好奇。我幾年來第一次使用usort,並且我對究竟發生了什麼特別感興趣。假設我有以下數組:PHP的USORT回調函數參數
$myArray = array(1, 9, 18, 12, 56);
我可以usort排序是:
usort($myArray, function($a, $b){
if ($a == $b) return 0;
return ($a < $b) ? -1 : 1;
});
我不是100%清楚是怎麼回事,有兩個參數$ a和$灣他們是什麼,他們代表什麼。我的意思是,我可以假設$ a代表陣列中的當前項目,但究竟是什麼與之相比?什麼是$ b?
我可以增加我的數組包含字符串:
$myArray = array(
array("Apples", 10),
array("Oranges", 12),
array("Strawberries", 3)
);
並運行以下:
usort($myArray, function($a, $b){
return strcmp($a[0], $b[0]);
});
而且會按字母順序基於[0]索引值我的孩子陣列排序。但是這並沒有提供任何$ a和$ b的清晰度。我只知道匹配我正在尋找的模式。
有人可以提供一些關於實際發生的事情的清晰度嗎?
+1我一直都這麼認爲。 – alex 2010-02-18 14:02:42