sort în PHP

Sortează elementele unui tablou crescător. Există și variante pentru descrescător și pentru chei.

Sintaxă
sort(array &$tablou, int $mod = SORT_REGULAR): true

Ce face sort

sort modifică direct tabloul și îl ordonează crescător. Cheile sunt pierdute și renumerotate de la 0.

Variante utile: rsort (descrescător), asort / arsort (după valoare, păstrând cheile), ksort / krsort (după cheie), usort (cu o funcție de comparare scrisă de tine).

Parametri

Parametru Descriere
$tablou Tabloul sortat. Este modificat direct.
$mod Opțional. De exemplu SORT_STRING sau SORT_NUMERIC.

Ce returnează

Întotdeauna true.

Exemple

Exemplul 1: Crescător și descrescător

<?php
$note = [7, 10, 5, 9];

sort($note);
echo implode(", ", $note) . "\n";

rsort($note);
echo implode(", ", $note);

Rezultat

5, 7, 9, 10
10, 9, 7, 5

Exemplul 2: Păstrarea cheilor cu arsort

<?php
$vanzari = ["Ana" => 120, "Mihai" => 340, "Ioana" => 210];

arsort($vanzari);
print_r($vanzari);

Rezultat

Array
(
    [Mihai] => 340
    [Ioana] => 210
    [Ana] => 120
)

Exemplul 3: Sortare personalizată cu usort

<?php
$produse = [
    ["nume" => "Mouse", "pret" => 80],
    ["nume" => "Monitor", "pret" => 900],
    ["nume" => "Cablu", "pret" => 15],
];

usort($produse, fn($a, $b) => $a["pret"] <=> $b["pret"]);
echo implode(", ", array_column($produse, "nume"));

Rezultat

Cablu, Mouse, Monitor

Greșeli frecvente

  • Scrii $sortat = sort($tablou);. sort returnează true, nu tabloul sortat.
  • Folosești sort pe un tablou cu chei text și pierzi cheile. Folosește asort sau ksort.

Comenzi înrudite

  • array_keys / array_values: Returnează doar cheile (array_keys) sau doar valorile (array_values) unui tablou.
  • count: Returnează numărul de elemente dintr-un tablou.
  • implode: Unește elementele unui tablou într-un singur text, cu un separator între ele.