Эврика!

Регистрация

Как упорядочить массив

Способы упорядочивания элементов массивов зависят от инструментов, которые имеются у вас в распоряжении. Ниже приведены несколько вариантов упорядочивания одномерных массивов при использовании наиболее распространенного серверного языка программирования PHP. Самостоятельно составлять функции для перебора элементов массива, их сравнения и присвоения новых значений при использовании этого языка не требуется - все это делают встроенные функции.Как упорядочить массив

Используйте функцию sort(), если надо выстроить данные в массиве в порядке их возрастания. Например:$values = array(58, 15, 2.41, 26, 30);
sort($values);В результате применения функции изменится порядок расположения данных в массиве - он станет таким: (2.41, 15, 26, 30, 58). Если в вызов функции добавить флаг SORT_STRING, то функция будет считать данные массива строковыми переменными и выстраивать их по алфавиту. Так как первый знак строковой переменной «2.41» в алфавите располагается дальше, чем первый знак строковой переменной «15», то после применения функции sort($values, SORT_STRING) переменные выстроятся иначе: (15, 2.41, 26, 30, 58).

Воспользуйтесь функцией rsort() при необходимости упорядочить массив в порядке убывания его значений. Эта функция отличается от описанной в первом шаге только порядком сортировки.

Применяйте функцию 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). В остальном действие этой функции не отличается от описанной в первом шаге функции sort. Для аналогичного упорядочивания элементов в порядке убывания используйте функцию arsort().

Задействуйте функцию 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). Для упорядочивания ключей в обратном порядке предназначена функция krsort().

Используйте функцию 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.

© CompleteRepair.Ru