У меня есть модель в моем приложении 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'));
Для получения дополнительной информации, пожалуйста, смотрите документы
Других решений пока нет …