Ce face array_change_key_case
array_change_key_case returnează un tablou nou în care cheile text sunt scrise cu litere mici (CASE_LOWER, implicit) sau mari (CASE_UPPER). Cheile numerice și valorile rămân la fel.
Este util când primești date de la surse care scriu cheile diferit, de exemplu antetele unui fișier CSV (Nume, NUME, nume).
Parametri
| Parametru | Descriere |
|---|---|
$array |
Tabloul original. |
$case |
Opțional. CASE_LOWER sau CASE_UPPER. |
Ce returnează
Un tablou nou, cu cheile transformate.
Exemple
Exemplul 1: Chei uniforme
<?php
$rand = ["Nume" => "Ana", "Oras" => "Iasi", "Varsta" => 25];
print_r(array_change_key_case($rand));
print_r(array_change_key_case($rand, CASE_UPPER));
Rezultat
Array
(
[nume] => Ana
[oras] => Iasi
[varsta] => 25
)
Array
(
[NUME] => Ana
[ORAS] => Iasi
[VARSTA] => 25
)
Exemplul 2: Chei care devin identice
Dacă două chei devin la fel, rămâne valoarea de mai târziu.
<?php
$date = ["Email" => "vechi@exemplu.ro", "EMAIL" => "nou@exemplu.ro"];
print_r(array_change_key_case($date));
Rezultat
Array
(
[email] => nou@exemplu.ro
)
Greșeli frecvente
- Ai chei cu diacritice. Funcția transformă doar literele fără diacritice:
"ORAȘ"devine"oraȘ". Pentru chei românești foloseștearray_combine(array_map("mb_strtolower", array_keys($t)), $t).
Comenzi înrudite
array_keys / array_values: Returnează doar cheile (array_keys) sau doar valorile (array_values) unui tablou.strtolower / strtoupper: Transformă toate literele unui text în litere mici (strtolower) sau mari (strtoupper).array_flip: Schimbă între ele cheile și valorile unui tablou.