array_unique în PHP

Tablouri (array) PHP 4.0.1+

Elimină valorile duplicate dintr-un tablou.

Sintaxă
array_unique(array $array, int $flags = SORT_STRING): array

Ce face array_unique

array_unique păstrează doar prima apariție a fiecărei valori. Cheile elementelor păstrate rămân aceleași, deci pot apărea „găuri” în numerotare.

Implicit, valorile sunt comparate ca text (SORT_STRING), deci 3, "3" și 3.0 sunt considerate identice. Comparația face diferența între litere mari și mici.

Parametri

Parametru Descriere
$array Tabloul original.
$flags Opțional. Modul de comparare: SORT_STRING (implicit), SORT_NUMERIC, SORT_REGULAR.

Ce returnează

Un tablou nou, fără duplicate.

Exemple

Exemplul 1: Etichete fără dubluri

<?php
$etichete = ["php", "mysql", "php", "css", "mysql"];

print_r(array_unique($etichete));

Rezultat

Array
(
    [0] => php
    [1] => mysql
    [3] => css
)

Exemplul 2: Renumerotarea cheilor

Combină cu array_values pentru chei 0, 1, 2…

<?php
$orase = ["Iași", "Cluj", "Iași", "Brașov"];

print_r(array_values(array_unique($orase)));

Rezultat

Array
(
    [0] => Iași
    [1] => Cluj
    [2] => Brașov
)

Exemplul 3: Litere mari și mici

<?php
$emailuri = ["ana@exemplu.ro", "ANA@exemplu.ro"];

echo count(array_unique($emailuri)) . "\n";
echo count(array_unique(array_map("strtolower", $emailuri)));

Rezultat

2
1

Greșeli frecvente

  • Folosești array_unique pe un tablou de tablouri. Elementele sunt comparate ca text, toate devin Array și sunt considerate identice, iar tu primești avertismentul Array to string conversion. Pentru tablouri de rânduri, folosește o cheie unică, de exemplu cu array_column.

Comenzi înrudite