codeigniter模型无法找到例行程序。

时间:2015-02-11 19:37:30

标签: php codeigniter sorting usort

我的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')

我收到的错误消息是:

  

严重性:警告 - > usort()期望参数2是有效的   回调,功能' comp_primary'未找到或无效的功能名称   /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);

你能告诉我我失踪的是什么吗?谢谢!

1 个答案:

答案 0 :(得分:10)

请试试这个:

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

有关详细信息,请参阅the docs