Метод sort
Метод sort класса Arr предназначен для сортировки массива по возрастанию с сохранением ключей. Он работает аналогично встроенной PHP-функции asort, но в отличие от неё возвращает новый массив, не изменяя исходный. Метод особенно удобен при работе с ассоциативными массивами, где важно сохранить связь ключ-значение.
Синтаксис
<?php
Arr::sort($array);
?>
Метод принимает один обязательный параметр:
-
$array- исходный массив для сортировки
Возвращает новый отсортированный массив, исходный массив остаётся неизменным.
Пример
Давайте отсортируем простой массив чисел:
<?php
use Illuminate\Support\Arr;
$arr = [5, 3, 1, 4, 2];
$res = Arr::sort($arr);
echo print_r($res, true);
?>
Результат выполнения кода:
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 5
)
Как видно из примера, массив отсортирован по возрастанию, ключи сохранены.
Пример
Метод сохраняет ключи при сортировке ассоциативного массива:
<?php
use Illuminate\Support\Arr;
$arr = ['b' => 2, 'a' => 1, 'c' => 3];
$res = Arr::sort($arr);
echo print_r($res, true);
?>
Результат выполнения кода:
Array
(
[a] => 1
[b] => 2
[c] => 3
)
Обратите внимание, что ключи 'a', 'b' и 'c' сохранили свою связь с соответствующими значениями.
Пример
Исходный массив остаётся неизменным после сортировки:
<?php
use Illuminate\Support\Arr;
$arr = [4, 2, 5, 1, 3];
$res = Arr::sort($arr);
echo "Original array: " . print_r($arr, true);
echo "Sorted array: " . print_r($res, true);
?>
Результат выполнения кода:
"Original array: Array ( [0] => 4 [1] => 2 [2] => 5 [3] => 1 [4] => 3 )"
"Sorted array: Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 )"
Как видно, исходный массив не был изменён, что позволяет безопасно использовать метод без опасения за сохранность исходных данных.