Как отсортировать массив по определенному ключу?

У меня массив выглядит как показано ниже.

$array[0]['keyword'] = 'cricket '; $array[0]['noofhits'] = '26'; $array[1]['keyword'] = 'food '; $array[1]['noofhits'] = '17'; $array[2]['keyword'] = 'mypax'; $array[2]['noofhits'] = '22'; $array[3]['keyword'] = 'next'; $array[3]['noofhits'] = '22'; $array[4]['keyword'] = 'nextbutton'; $array[4]['noofhits'] = '22'; $array[5]['keyword'] = 'picture'; $array[5]['noofhits'] = '18'; 

Я хочу сортировать массив, используя noofhits. Как я могу сделать? Спасибо за ваш совет.

Сори для предыдущего. Спасибо за ваши ответы.

Используйте usort с пользовательской функцией сравнения:

 function cmp($a, $b) { return $a['noofhits'] - $b['noofhits']; } usort($array, 'cmp'); 

usort ожидает, что функция сравнения вернет три разных значения:

  • 0, если a и b равны
  • целое число меньше 0, если a предшествует b
  • целое число больше 0, если b предшествует

Поэтому мы можем просто вычесть значение b из a . Если значение s больше значения b , вычитание дает положительное целое число; если значение s равно значению b , оно дает 0; и если значение s меньше значения b , оно дает отрицательное значение.