这是一个非常深奥的问题,但我真的很好奇。我几年来第一次使用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