array_multisort
funkcja
Sortuje jedną lub wiele tablic naraz, zachowując powiązania między kolumnami — jak ORDER BY w SQL.
array_multisort(array &$array1, mixed ...$rest): bool
array_multisort sortuje kilka tablic jednocześnie, utrzymując powiązania między ich elementami o tych samych indeksach — to odpowiednik ORDER BY col1, col2 z SQL. Pierwsza tablica jest sortowana, a kolejne tablice są przestawiane razem z nią. Możesz dodać flagi SORT_ASC / SORT_DESC i SORT_STRING / SORT_NUMERIC między tablicami, by kontrolować kierunek i typ porównania. Funkcja zwraca true w przypadku sukcesu.
<?php
declare(strict_types=1);
$imiona = ['Zofia', 'Anna', 'Marek', 'Anna'];
$wiek = [25, 30, 25, 20];
array_multisort($wiek, SORT_ASC, $imiona, SORT_ASC);
print_r($imiona);
// wynik:
// Array
// (
// [0] => Anna
// [1] => Marek
// [2] => Zofia
// [3] => Anna
// )
print_r($wiek);
// wynik:
// Array
// (
// [0] => 20
// [1] => 25
// [2] => 25
// [3] => 30
// )