Ce face array_column
Rezultatele dintr-o bază de date vin de obicei ca tablou de rânduri. array_column ia dintr-un asemenea tablou doar valorile unei chei, de exemplu toate prețurile.
Cu al treilea parametru, valorile din altă coloană devin cheile rezultatului. Dacă dai null drept coloană, obții rândurile întregi, indexate după acea cheie.
Parametri
| Parametru | Descriere |
|---|---|
$array |
Lista de rânduri (tablouri sau obiecte). |
$column_key |
Cheia extrasă din fiecare rând sau null pentru rândul întreg. |
$index_key |
Opțional. Cheia ale cărei valori devin cheile rezultatului. |
Ce returnează
Un tablou cu valorile coloanei.
Exemple
Exemplul 1: Toate numele
<?php
$utilizatori = [
["id" => 7, "nume" => "Ana", "oras" => "Iași"],
["id" => 12, "nume" => "Mihai", "oras" => "Cluj"],
["id" => 31, "nume" => "Ioana", "oras" => "Iași"],
];
print_r(array_column($utilizatori, "nume"));
Rezultat
Array
(
[0] => Ana
[1] => Mihai
[2] => Ioana
)
Exemplul 2: Valori indexate după id
<?php
$utilizatori = [
["id" => 7, "nume" => "Ana"],
["id" => 12, "nume" => "Mihai"],
];
$nume = array_column($utilizatori, "nume", "id");
print_r($nume);
echo $nume[12];
Rezultat
Array
(
[7] => Ana
[12] => Mihai
)
Mihai
Exemplul 3: Rânduri întregi, căutate rapid după id
<?php
$produse = [
["cod" => "P1", "nume" => "Mouse", "pret" => 80],
["cod" => "P2", "nume" => "Tastatură", "pret" => 150],
];
$dupaCod = array_column($produse, null, "cod");
echo $dupaCod["P2"]["nume"] . " costă " . $dupaCod["P2"]["pret"] . " lei";
Rezultat
Tastatură costă 150 lei
Greșeli frecvente
- Scrii greșit numele cheii.
array_columnnu dă eroare, doar sare peste rândurile fără acea cheie, și primești un tablou gol.
Comenzi înrudite
array_map: Aplică o funcție pe fiecare element al unui tablou și returnează tabloul cu rezultatele.array_combine: Construiește un tablou asociativ din două liste: una cu cheile și una cu valorile.array_sum / array_product: Adună toate valorile unui tablou (array_sum) sau le înmulțește (array_product).