i bir ilişkisel dizi olarak aşağıdaki verileri var
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
Ben "etiket" veya "ağırlık" kullanarak diziyi sıralamak istiyorum
Etiket için karşılaştırma fonksiyonu:
function compare_label($a, $b)
{
return strnatcmp($a['label'], $b['label']);
}
ve daha ben sadece başka bir işlevden işlevini çağırır:
usort($label, 'compare_label');
var_dump($label);
ama sonra hata mesajı alıyorum ve dizi sıralanır. Ben yanlış yapıyorum, bilmiyorum. Ben yerine denedim:
usort($label, 'compare_label');
ileusort($label, compare_label);
usort($label, 'compare_label');
ileusort($label, $this->compare_label);
olmadan başarı. Birisi bana bir ipucu verebilir misiniz?