array_change_key_case în PHP

Tablouri (array) PHP 4.2+

Transformă toate cheile text ale unui tablou în litere mici sau mari.

Sintaxă
array_change_key_case(array $array, int $case = CASE_LOWER): array

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ște array_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.