Як упорядкувати масив

Як упорядкувати масив

Способи упорядкування елементів масивів залежать від інструментів, які є у вас в розпорядженні. Нижче наведено кілька варіантів упорядкування одновимірних масивів при використанні найбільш поширеного серверного мови програмування PHP. Самостійно складати функції для перебору елементів масиву, їх порівняння та присвоєння нових значень при використанні цієї мови не потрібно — все це роблять вбудовані функції.

Інструкція

  1. Використовуйте функцію 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).
  2. Скористайтеся функцією rsort () при необхідності впорядкувати масив в порядку убування його значень. Ця функція відрізняється від описаної в першому кроці тільки порядком сортування.
  3. Застосовуйте функцію 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 ().
  4. Задійте функцію 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 ().
  5. Використовуйте функцію 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.