у меня есть следующие данные в виде ассоциативного массива
array
'abc' =>
array
'label' => string 'abc' (length=3)
'weight' => float 3
'wsx' =>
array
'label' => string 'wsx' (length=3)
'weight' => float 1
'qay' =>
array
'label' => string 'qay' (length=3)
'weight' => float 1
'http://test.com' =>
array
'label' => string 'http://test.com' (length=15)
'weight' => float 0
'Nasi1' =>
array
'label' => string 'Nasi1' (length=5)
'weight' => float 0
'fax' =>
array
'label' => string 'fax' (length=3)
'weight' => float 4
Я хочу отсортировать массив, используя «метку» или «вес»
Функция сравнения для метки:
function compare_label($a, $b)
{
return strnatcmp($a['label'], $b['label']);
}
а потом я просто вызываю функцию из другой функции:
usort($label, 'compare_label');
var_dump($label);
но тогда я получаю сообщение об ошибке, и массив не сортируется. Я не знаю, что я делаю не так. Я пытался заменить:
usort($label, 'compare_label');
с usort($label, compare_label);
usort($label, 'compare_label');
с usort($label, $this->compare_label);
без успеха. Может кто-нибудь дать мне подсказку?