开发者社区 问答 正文

在PHP中使用usort和类私有函数

好的,使用具有功能的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()函数内调用对象方法 问题来源于stack overflow

展开
收起
保持可爱mmm 2020-02-08 10:15:15 544 分享 版权
1 条回答
写回答
取消 提交回答
  • 使您的排序功能静态:

    private static function merchantSort($a,$b) { return ...// the sort } 并将数组用作第二个参数:

    $array = $this->someThingThatReturnAnArray(); usort($array, array('ClassName','merchantSort'));

    2020-02-08 10:15:33
    赞同 展开评论
问答分类:
PHP
问答标签:
问答地址: