Як упорядкувати масив
Способи упорядкування елементів масивів залежать від інструментів, які є у вас в розпорядженні. Нижче наведено кілька варіантів упорядкування одновимірних масивів при використанні найбільш поширеного серверного мови програмування 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).
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` = gt; 58, `two` = gt; 15, `three` = gt; 2.41, `four` = gt; 26, `five` = gt; 30);
asort ($ values) -В результаті порядок проходження елементів масиву стане таким: ( `three` = gt; 2.41, `two` = gt; 15, `four` = gt; 26, `five` = gt; 30, `one `= gt; 58). В іншому дію цієї функції не відрізняється від описаної в першому кроці функції sort. Для аналогічного упорядкування елементів в порядку убування використовуйте функцію arsort ().
asort ($ values) -В результаті порядок проходження елементів масиву стане таким: ( `three` = gt; 2.41, `two` = gt; 15, `four` = gt; 26, `five` = gt; 30, `one `= gt; 58). В іншому дію цієї функції не відрізняється від описаної в першому кроці функції sort. Для аналогічного упорядкування елементів в порядку убування використовуйте функцію arsort ().
4
Задіюйте функцію ksort (), якщо треба впорядкувати елементи в порядку зростання НЕ значень, а індексів (ключів). Ця функція актуальна для іменованих (асоціативних) масивів. Наприклад: $ values = array ( `one` = gt; 58, `two` = gt; 15, `three` = gt; 2.41, `four` = gt; 26, `five` = gt; 30);
ksort ($ values) -В результаті за алфавітом будуть збудовані ключі функції, а разом з ними зміниться і порядок проходження значень: ( `five` = gt; 30, `four` = gt; 26, `one` = gt; 58, `three` = gt; 2.41, `two` = gt; 15). Для упорядкування ключів в зворотному порядку призначена функція krsort ().
ksort ($ values) -В результаті за алфавітом будуть збудовані ключі функції, а разом з ними зміниться і порядок проходження значень: ( `five` = gt; 30, `four` = gt; 26, `one` = gt; 58, `three` = gt; 2.41, `two` = gt; 15). Для упорядкування ключів в зворотному порядку призначена функція krsort ().
5
Використовуйте функцію array_reverse (), якщо потрібно просто змінити порядок проходження значень елементів масиву на протилежний. Тобто значення останнього елемента масиву присвоїти першому, передостаннього - другого, і т.д. Наприклад: $ values = array ( `one` = gt; 58, `two` = gt; 15, `three` = gt; 2.41, `four` = gt; 26, `five` = gt; 30);
$ NewValues = array_reverse ($ values) -В результаті в масиві $ newValues елементи будуть слідувати в такому порядку: ( `five` = gt; 30, `four` = gt; 26, `three` = gt; 2.41, `two` = gt; 15, `one` = gt; 58). Зверніть увагу на те, що застосування цієї функції не змінює порядку проходження елементів у вихідному масиві $ values.
$ NewValues = array_reverse ($ values) -В результаті в масиві $ newValues елементи будуть слідувати в такому порядку: ( `five` = gt; 30, `four` = gt; 26, `three` = gt; 2.41, `two` = gt; 15, `one` = gt; 58). Зверніть увагу на те, що застосування цієї функції не змінює порядку проходження елементів у вихідному масиві $ values.
Статті за темою "Як упорядкувати масив"
Оцініть, будь ласка статтю