ok 使用带有函数的 usort 并没有那么复杂
这就是我之前在线性代码中的内容
function merchantSort($a,$b){
return ....// stuff;
}
$array = array('..','..','..');
排序我只是做
usort($array,"merchantSort");
现在我们正在升级代码并删除所有全局函数并将它们放在适当的位置。现在所有代码都在一个类中,我不知道如何使用 usort 函数对数组进行排序,其参数是对象方法而不是简单函数
class ClassName {
...
private function merchantSort($a,$b) {
return ...// the sort
}
public function doSomeWork() {
...
$array = $this->someThingThatReturnAnArray();
usort($array,'$this->merchantSort'); // ??? this is the part i can't figure out
...
}
}
问题是我如何在 usort() 函数中调用对象方法
原文由 Ibu 发布,翻译遵循 CC BY-SA 4.0 许可协议
使您的排序功能静态:
并为第二个参数使用数组: