The array_change_key_case function in PHP changes all array keys to lowercase or uppercase for consistent data use.
Table of Content
Understand the array_change_key_case Function in PHP
The array_change_key_case function changes the case of keys in an array. It changes every key at once and returns a new array.
The syntax looks like this:
array_change_key_case($array, $case = CASE_LOWER)- $array: the input array with mixed key cases.
- $case: optional constant. Use
CASE_LOWERorCASE_UPPER. - Return: a new array with all keys in the case you set.
Keys in arrays often mix lowercase and uppercase. This breaks uniform access. The function fixes the issue by changing all keys to one style.
Here is a quick example:
$data = ["Name" => "Sara", "AGE" => 25];
print_r(array_change_key_case($data));This example changes all keys to lowercase. You see name and age instead of mixed forms.
The output:
Array
(
[name] => Sara
[age] => 25
)
The function loops over every key and applies the case rule. It does not touch the values. The result is a new array with changed keys.
Lowercase conversion:
$data = ["City" => "Cairo", "COUNTRY" => "Egypt"];
print_r(array_change_key_case($data, CASE_LOWER));This code makes all keys lowercase. The output keys are city and country.
The output:
Array
(
[city] => Cairo
[country] => Egypt
)
Uppercase conversion:
$data = ["City" => "Cairo", "COUNTRY" => "Egypt"];
print_r(array_change_key_case($data, CASE_UPPER));The output:
Array
(
[CITY] => Cairo
[COUNTRY] => Egypt
)
This code makes all keys uppercase. The output keys are CITY and COUNTRY.
The Difference Between strtolower Keys and array_change_key_case
The strtolower function works on strings. It changes every letter in a string to lowercase. You pass one string, and you get a lowercase version of that string.
The array_change_key_case function works on arrays. It changes every key in the array. It does not touch the values.
Here is a table shows key differences:
| Function | Works On | Result |
|---|---|---|
| strtolower | Single string | Lowercase string |
| array_change_key_case | Array keys | Array with changed keys |
Use strtolower when you want one string in lowercase. Use array_change_key_case when you want all keys in an array in the same case.
Examples of the array_change_key_case in PHP
Normalize User Data Keys:
$data = ["UserName" => "Ali", "Email" => "[email protected]"];
$result = array_change_key_case($data, CASE_LOWER);
print_r($result);This example changes mixed-case user data keys to lowercase. You can avoid a mismatch in later access.
Here is the output:
Array
(
[username] => Ali
[email] => [email protected]
)
Match API Response Keys:
$response = ["id" => 101, "NaMe" => "Lina", "SCORE" => 89];
$fixed = array_change_key_case($response, CASE_UPPER);
print_r($fixed);This example changes every API response key to uppercase. You match external systems that use uppercase keys. The values stay the same. The result:
Array
(
[ID] => 101
[NAME] => Lina
[SCORE] => 89
)
Combine Arrays:
$a = ["Name" => "Omar", "Age" => 22];
$b = ["NAME" => "Omar", "AGE" => 22];
$a = array_change_key_case($a, CASE_LOWER);
$b = array_change_key_case($b, CASE_LOWER);
print_r(array_merge($a, $b));Here, it converts both arrays to lowercase before merging them and avoids key conflicts from mixed cases.
Here is the output:
Array
(
[name] => Omar
[age] => 22
)
Handle Config Data:
$config = ["Host" => "localhost", "PORT" => 3306, "User" => "root"];
$fixed = array_change_key_case($config, CASE_UPPER);
print_r($fixed);The result:
Array
(
[HOST] => localhost
[PORT] => 3306
[USER] => root
)
This changes configuration keys to uppercase.
Wrapping Up
You learned what array_change_key_case does and how it works.
Here is a quick recap:
- It changes all array keys to lowercase or uppercase.
- It works only on keys and not on values.
- It avoids errors with mixed-case keys.
FAQs
What does php array_change_key_case do?
array_change_key_case() function changes all array keys to lowercase or uppercase.
- Syntax:
array_change_key_case(array, case) - Case: Use
CASE_LOWERorCASE_UPPER
How to convert array keys to lowercase in PHP?
array_change_key_case() with CASE_LOWER.
Example:
$array = ["ID" => 101, "Name" => "John"];
$result = array_change_key_case($array, CASE_LOWER);
print_r($result);
Output:
Array ( [id] => 101 [name] => John )
How to convert array keys to uppercase in PHP?
array_change_key_case() with CASE_UPPER.
Example:
$array = ["id" => 101, "name" => "John"];
$result = array_change_key_case($array, CASE_UPPER);
print_r($result);
Output:
Array ( [ID] => 101 [NAME] => John )
What is the difference between strtolower and array_change_key_case?
- strtolower:
strtolower("HELLO")→ "hello" - array_change_key_case: converts every key in the array
Similar Reads
PHP introduced null to handle undefined or missing values. It helps prevent errors when you check if a variable exists.…
The array_diff function compares arrays and returns values that exist in the first array but not in the others in…
The PHP singleton design pattern makes sure that the class has only one instance and provides a global access point…
When working with big arrays in PHP, things can get messy. That is where php array_chunk() steps in by providing…
Array values may look the same, but keys can differ. The array_diff_assoc in PHP finds differences by both values and…
You can use your Raspberry Pi as a personal web server or tool that runs in your home. You do…
The NOT operator in PHP (!) provides the reverse of whatever truth value is given by a certain expression. It’s…
Inserting multiple data rows using PHP is a basic task. However when you start working with MySQL databases, So that…
The sizeof function in PHP exists to help developers know how many items an array holds. Understand the sizeof Function…
The PHP array_intersect function finds common values in arrays and returns matches as a new array. Understand the array_intersect in…