Как упорядочить массив
Содержание:- Упорядочивание элементов массивов в PHP
- Использование функции sort()
$values = array(58, 15, 2.41, 26, 30); sort($values);
- Функция rsort()
- Применение функции asort()
- Функция ksort()
- Использование функции array_reverse()
Упорядочивание элементов массивов в PHP
Способы упорядочивания элементов массивов зависят от инструментов, которые имеются у вас в распоряжении. В этой статье мы рассмотрим несколько вариантов упорядочивания одномерных массивов при использовании наиболее распространенного серверного языка программирования PHP.
Использование функции sort()
Функция sort()
используется для упорядочивания данных в массиве в порядке их возрастания. Например:
$values = array(58, 15, 2.41, 26, 30);
sort($values);
В результате применения функции изменится порядок расположения данных в массиве - он станет таким: (2.41, 15, 26, 30, 58). Если в вызов функции добавить флаг SORT_STRING
, то функция будет считать данные массива строковыми переменными и выстраивать их по алфавиту.
Функция rsort()
Если необходимо упорядочить массив в порядке убывания его значений, можно использовать функцию rsort()
. Она работает аналогично функции sort()
, но сортирует элементы в обратном порядке.
Применение функции asort()
Функция asort()
используется для упорядочивания значений именованного (ассоциативного) массива в порядке возрастания, при этом сохраняя соответствие между индексом и значением каждого элемента массива. Например:
$values = array('one' => 58, 'two' => 15, 'three' => 2.41, 'four' => 26, 'five' => 30);
asort($values);
В результате порядок следования элементов массива станет таким: ('three' => 2.41, 'two' => 15, 'four' => 26, 'five' => 30, 'one' => 58).
Функция ksort()
Если надо упорядочить элементы в порядке возрастания индексов (ключей), можно использовать функцию ksort()
. Она актуальна для именованных (ассоциативных) массивов. Например:
$values = array('one' => 58, 'two' => 15, 'three' => 2.41, 'four' => 26, 'five' => 30);
ksort($values);
В результате по алфавиту будут выстроены ключи функции, а вместе с ними изменится и порядок следования значений: ('five' => 30, 'four' => 26, 'one' => 58, 'three' => 2.41, 'two' => 15).
Использование функции array_reverse()
Если требуется просто изменить порядок следования значений элементов массива на противоположный, можно воспользоваться функцией array_reverse()
. Например:
$values = array('one' => 58, 'two' => 15, 'three' => 2.41, 'four' => 26, 'five' => 30);
$newValues = array_reverse($values);
В результате в массиве $newValues
элементы будут следовать в таком порядке: ('five' => 30, 'four' => 26, 'three' => 2.41, 'two' => 15, 'one' => 58). Обратите внимание на то, что применение этой функции не изменяет порядка следования элементов в исходном массиве $values
.