Как сделать сортировку массива php

Эта статья поможет вам понять, как сортировать массивы в PHP с помощью различных алгоритмов, таких как пузырьковая сортировка, сортировка вставками и быстрая сортировка. Наша статья покажет примеры кода и пошаговое описание основных этапов каждого алгоритма.

В PHP есть несколько стандартных функций для сортировки массивов. Одна из самых простых и популярных - это функция sort(), которая принимает простой массив и возвращает его отсортированным по значениям.

Например, у нас есть массив с целыми числами:

$numbers = [2, 4, 3, 5, 1];

Используем функцию sort() для отсортировки его по значениям:

sort($numbers);

Теперь переменная $numbers содержит следующие значения:

$numbers = [1, 2, 3, 4, 5];

Сортировка по ключам

Функция sort() также может быть использована для сортировки ассоциативных массивов по ключам. Например, допустим, у нас есть ассоциативный массив $assoc с названиями фруктов и ценами:

$assoc = [
    'apple' => 1.25,
    'orange' => 0.75,
    'banana' => 0.50,
];

Здесь ключами являются названия фруктов, а значениями — цены. Чтобы отсортировать этот массив по ключам, мы можем использовать функцию ksort():

ksort($assoc);

Теперь массив $assoc отсортирован по алфавиту и содержит следующие значения:

$assoc = [
    'apple' => 1.25,
    'banana' => 0.50,
    'orange' => 0.75,
];

Обратная сортировка

Чтобы отсортировать массив в обратном порядке, можно использовать функцию rsort(). Например, для обратной сортировки простого массива целых чисел:

$numbers = [2, 4, 3, 5, 1];

rsort($numbers);

Теперь переменная $numbers содержит следующие значения:

$numbers = [5, 4, 3, 2, 1];

Сортировка по значениям

Также можно использовать функцию asort() для сортировки массива по значениям. Например, для отсортировки ассоциативного массива $assoc по значениям:

asort($assoc);

Теперь массив $assoc отсортирован по ценам и содержит следующие значения:

$assoc = [
    'banana' => 0.50,
    'orange' => 0.75,
    'apple' => 1.25,
];

Пользовательская сортировка

Функция usort() позволяет отсортировать массив в соответствии с пользовательским алгоритмом. Например, чтобы отсортировать массив по длинне строк:

$strings = ['foo', 'foobar', 'foobarbaz'];

usort($strings, function ($a, $b) {
    return strlen($a) - strlen($b);
});

Теперь переменная $strings содержит следующие значения:

$strings = ['foo', 'foobar', 'foobarbaz'];

Ответы (0)