【发布时间】:2016-09-17 10:25:35
【问题描述】:
我正在编写自定义排序功能。当前(非工作)代码如下所示:
<?php
function sort_by_key($array, $key) {
function custom_compare ($a, $b) {
if ($a[$key][0] > $b[$key][0]) { return 1; }
else { return -1; }
}
return usort($array, "custom_compare");
}
?>
问题是我无法将 $key 变量传递给 custom_compare 函数。我想避免使用全局变量(丑陋的编码)。
【问题讨论】:
-
通过进一步阅读,我注意到 PHP 不支持嵌套函数。我的代码在第二次运行时返回错误,PHP 尝试重新声明 custom_compare -function。除了全局变量还有其他选项吗?我无法将更多参数传递给 custom_compare,因为它被 usort 使用。