gpt4 book ai didi

php - 如何向 usort/uasort cmp 函数添加额外的参数?

转载 作者:可可西里 更新时间:2023-11-01 13:18:22 25 4
gpt4 key购买 nike

我想在 compare_by_flags 函数中使用这个 $sort_flags 数组,但我没有找到方法,这可能吗?

public function sort_by_rank(array $sort_flags = array()) {
uasort($this->search_result_array, array($this, 'compare_by_flags'));
}

private static function compare_by_flags($a, $b) {
// I want to have this $sort_flags array here to compare according to those flags
}

最佳答案

如果你使用 php < 5.3 那么你可以只使用实例变量:

public function sort_by_rank(array $sort_flags = array()) {
$this->sort_flags = $sort_flags;
uasort($this->search_result_array, array($this, 'compare_by_flags'));
}

private static function compare_by_flags($a, $b) {
// I want to have this $sort_flags array here to compare according to those flags
}

否则 - 使用闭包:

public function sort_by_rank(array $sort_flags = array()) {
uasort($this->search_result_array, function($a, $b) use ($sort_flags) {
// your comparison
});
}

关于php - 如何向 usort/uasort cmp 函数添加额外的参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7387543/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com