Рецепт №34. Из книги «128 рецептов php»
Перейти к оглавлению
Для сортировки массивов как одномерных и многомерных, так и ассоциативных в php существует достаточно много функций. О самых часто используемых функциях по порядку:
Sort – позволяет сортировать одномерный массив по возрастанию элементов. Пример:
// исходный массив $array = array(5, 1, 7, 2, 6, 3, 8, 4); // сортировка по возрастанию sort($array); // вывод результата print_r($array);
Rsort – сортирует одномерный массив по убыванию элементов. Пример:
// исходный массив $array = array(5, 1, 7, 2, 6, 3, 8, 4); // сортировка по убыванию rsort($array); // вывод результата print_r($array);
Shuffle – перемешивает элементы одномерного массива в случайном порядке. Пример:
// исходный массив $array = array(5, 1, 7, 2, 6, 3, 8, 4); // перемешивает элементы в случайном порядке shuffle($array); // вывод результата print_r($array);
Array_reverse – перемешивает элементы любого массива в обратном порядке. Если массив многомерный или ассоциативный, то значение индексов или ключей перемешиваются вместе со значениями. Пример:
// исходный массив $array = array('a'=>5, 'b'=>1, 7, 'c'=>3, 4); // сортировка в обратном порядке $array = array_reverse($array); // вывод результата print_r($array);
Asort – сортирует любой массив по возрастанию значений. Если массив многомерный или ассоциативный, то индексы или ключи перемешиваются вместе со значениями. Пример:
// исходный массив $array = array('b' => 1, 'a' => 3, 2, 'c' => 4); // сортировка ассоциативного массива по возрастанию // перемешивает и значения вместе с ключами(индексами) asort($array); // вывод результата print_r($array);
Arsort – сортирует любой массив по убыванию значений. Если массив многомерный или ассоциативный, то индексы или ключи перемешиваются вместе со значениями. Пример:
// исходный массив $array = array('b' => 1, 'a' => 3, 2, 'c' => 4); // сортировка ассоциативного массива по убыванию // перемешивает и значения вместе с ключами(индексами) arsort($array); // вывод результата print_r($array);
Ksort – сортирует массив по возрастанию ключей. Значения перемешиваются вместе с ключами. Пример:
$array = array('b' => 1, 'a' => 3, 'c' => 2); // сортировка ассоциативного массива // по возрастанию ключей(индексов) // перемешивает и ключи(индексы) и значения ksort($array); // вывод результата print_r($array);