我的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);
你能告诉我我缺了什么吗?谢谢
请尝试这个:
usort($srv_records, array($this,'comp_primary'));
有关更多信息,请参阅文档