【发布时间】:2012-01-25 09:00:40
【问题描述】:
我正在使用 php 函数 usort 对数组进行排序。必须生成自定义的php函数,因为它是动态的
$intCompareField = 2;
$functSort = function($a, $b) {
return ($a[$intCompareField] > $a[$intCompareField])?1:-1;
}
usort($arrayToSort, $functSort);
比较函数中的$intCompareField 为空,我猜是因为$intCompareField 是在函数外部声明的。设置global $intCompareField 似乎不起作用。
Ps:我使用$intCompareField,因为要排序的数组是多维的,我希望能够对数组中的哪个键进行排序。
【问题讨论】:
-
您确定只返回
1或-1,通常希望返回0以获得“相等”的值。 -
我知道,但我想保持函数简短。感谢强硬的评论
-
那么,你更喜欢 short and broken 而不是 short ——虽然不像以前那么短—— 并且工作?祝你好运!