0
我们写一些代码,涉及usort这对我们的发展系统(PHP 5.2.8)工作正常,但遇到我们的直播系统有问题(PHP 5.2.0):为什么这个usort()函数在某些版本的PHP上失败?
// Sort by distance
usort($locations, 'Interpolator::sortByDistance');
调用该方法(内同一类内插器):
private static function sortByDistance($a, $b) {
$return = 0;
if($a['distance'] > $b['distance']) {
$return = 1;
} else if ($a['distance'] < $b['distance']) {
$return = -1;
}
return $return;
}
在我们的生活系统,这将返回一个完全任意排序的数组,原来的顺序被打乱,但仍然没有按距离排序。
我找不到任何有关此问题的5.2.0和5.2.8之间的PHP错误引用。
这个问题从哪里来?我能解决这个简单的自己写分类功能吗?
是否字符串“插补:: sortByDistance”在所有PHP版本回调的工作?对于静态方法回调,我总是使用约定数组('Iterpolator','sortByDistance')。 – nickohrn 2009-02-18 16:15:37
这是一个PHP 5.2.3+的功能。 – chaos 2009-02-18 16:17:10