下面的代码位于一个类中的函数内部。它的目的是避免每个$filter值都有一个排序函数:
$GLOBAL['filter'] = $filter;
usort($this->data, function($arr1, $arr2) {
return ($arr1[$GLOBALS['filter']] > $arr2[$GLOBALS['filter']]) ? 1 : -1;
});
我的解决方案完全有效,但我认为它相当不优雅。是否有人有想法在不使用$GLOBALS变量的情况下实现相同的目标?
感谢您的建议。