Часто при вирішенні певних завдань потрібнозробити сортування даних, які зберігаються в масиві. Що таке сортування масивів? Ось, наприклад, граючи в преферанс, люди розкладають свої карти за значенням і масті. Це дає можливість визначити, яких ще карт їм не вистачає. А в словниках все впорядковується за алфавітом. Прикладів можна навести багато. Сортування - перегрупування певної множини об'єктів в будь-якому порядку по заданому ознакою. Сортування масивів потрібно досить часто. Для цього застосовуються різні методи. Щоб зрозуміти їх суть, досить розглянути детально кілька способів.

Сортування масивів
На основі чого роблять

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

Головні відмінності функцій

Сортування масиву PHP можлива за допомогою різних функцій. Давайте розглянемо, чим вони відрізняються:

- Одні функції сортують масиви по ключам їх елементів, а інші - за значеннями.

- Буває різний порядок сортування: регресний, зростаючий, натуральний, числовий, алфавітний, певний користувачами або випадковий.

- Деякі функції здатні зберігати після сортування зв'язок, який існує між ключем і значенням. Але є функції, в яких ключі скинуться в нові значення.

- Кожна функція здійснює модифікацію переданого масиву. Відсортовану копію вони не повертають.

- Порядок сортування вважається невизначеним, коли функція визначає два елементи, як рівні. Це нестабільна сортування.

Деякі функції сортування масивів в PHP

Функції sort () і rsort (). Sort () впорядковує в алфавітному порядкумасив. Звернемо увагу: ця функція чутлива до регістру. Відбувається сортування за значеннями без урахування ключів. Rsort () сортує в зворотному порядку теж за значеннями і не враховує ключі.

Asort () - це одна з функцій, яка зберігає відносини ключів і значень. Її корисно застосовувати для асоціативних масивів, коли це важливо.

Сортування масиву PHP
У прикладі ключами обрані найменування фруктів, азначення - це ціни. Сортування відбувається по зростанню ціни. Якщо необхідне сортування за назвами фруктів, то потрібна функція ksort (), яка робить сортування по ключам. Arsort () здійснює сортування одновимірних масивів з індексами (описовими) по спадаючій значень. Krsort () сортує по спадаючій ключів елементів.

Двовимірний масив

Цікава сортування двовимірного масиву. Це можна робити по-різному. У PHP є можливість порівнювати два числа або два рядки. Але в будь-якому багатовимірному масиві кожен з елементів являє собою масив. У PHP, щоб порівняти кілька масивів, треба створити певний метод. Розглянемо двовимірний масив, в якому зберігається скорочена назва фруктів, повна назва і ціна. Елементи масиву можна відсортувати в алфавітному порядку за скороченими назвами.

Сортування двовимірного масиву
У прикладі у нашій функції ім'я compare (порівняння). У неї 2 аргументу - x, y. Функція повинна прийняти 2 значення, після чого визначити порядок. Параметри x, y - 2 масиву, які знаходяться всередині y основного масиву. Щоб порівнювати description-елементи з масивів, що передані в функцію, потрібні змінні $ x [1], $ y [1]. У рядку return1 відбувається повернення значення коду, який викликав функцію. В основі сортування нашого масиву функція usort (). Сортування йде за правилами, які описує функція compare ().

Тепер сортування масивів в PHP стане для вас зрозумілою.

</ P>