codeigniter 模型找不到 usort 例程。

codeigniter model can't find usort routine.

我的 codeigniter 应用程序中有一个模型,其中包含 usort 使用的以下回调函数:

    function comp_primary($a, $b) 
    {
            if ($a['pri'] == $b['pri']) {
                    return $a['weight'] - $b['weight'];
            }
            return strcmp($a['pri'], $b['weight']);
    }

我从同一个模型调用它,只是使用不同的方法,如下所示:

 usort($srv_records, 'comp_primary')

我收到的错误消息是:

Severity: Warning --> usort() expects parameter 2 to be a valid callback, function 'comp_primary' not found or invalid function name /var/www/html/widgets/manager/models/widget_model.php 187

我尝试将 comp_primary 上的函数签名更改为如下所示:

private function comp_primary($a, $b)

我也试过改变我的称呼方式,像这样:

 usort($srv_records, '$this->comp_primary');

  usort($srv_records, $this->comp_primary);

你能告诉我我错过了什么吗?谢谢!

请试试这个:

usort($srv_records, array($this,'comp_primary'));

更多信息,请参阅the docs