YouTip LogoYouTip

Func Array Change Key Case

## PHP array_change_key_case() Function The `array_change_key_case()` function is a built-in PHP function that allows you to change all the keys in an associative array to either uppercase or lowercase. This tutorial provides a comprehensive guide to using `array_change_key_case()`, including its syntax, parameters, return values, practical examples, and important edge cases. --- ## Definition and Usage The `array_change_key_case()` function takes an input array and returns a new array with all its keys converted to either lowercase or uppercase. It is particularly useful when normalizing array keys for case-insensitive lookups or when processing data from external sources (like databases or APIs) where key casing might be inconsistent. --- ## Syntax ```php array_change_key_case(array $array, int $case = CASE_LOWER): array ``` ### Parameter Values | Parameter | Type | Required/Optional | Description | | :--- | :--- | :--- | :--- | | `array` | `array` | **Required** | The input array to be processed. | | `case` | `int` | *Optional* | Specifies the target case. It accepts one of two predefined PHP constants:
β€’ `CASE_LOWER` (Default) - Converts all keys to lowercase.
β€’ `CASE_UPPER` - Converts all keys to uppercase. | ### Return Value * Returns an **array** with its keys converted to the specified case. * Throws a `TypeError` in PHP 8.0 and above if the first argument is not an array. In older PHP versions, it returned `false` and emitted an `E_WARNING`. --- ## Technical Details * **PHP Version Compatibility:** PHP 4.2.0+ * **Changelog:** Since PHP 8.0.0, passing an invalid type to the `array` parameter will throw a `TypeError`. Previously, it returned `false` and emitted a warning. --- ## Code Examples ### Example 1: Converting Keys to Uppercase In this example, we convert all the keys of the `$age` array to uppercase using the `CASE_UPPER` constant. ```php "35", "Ben" => "37", "Joe" => "43"); $upper_age = array_change_key_case($age, CASE_UPPER); print_r($upper_age); ?> ``` **Output:** ```text Array ( => 35 => 37 => 43 ) ``` --- ### Example 2: Converting Keys to Lowercase (Default Behavior) If you do not specify the second parameter, the function defaults to `CASE_LOWER`. ```php "35", "Ben" => "37", "Joe" => "43"); $lower_age = array_change_key_case($age, CASE_LOWER); print_r($lower_age); ?> ``` **Output:** ```text Array ( => 35 => 37 => 43 ) ``` --- ## Important Considerations & Edge Cases ### Key Collision and Overwriting If an array contains keys that will become identical after the case conversion (for example, `"b"` and `"B"`), **the last element in the array will overwrite the previous ones**. ```php "Cat", "B" => "Dog", "c" => "Horse", "b" => "Bird"); $result = array_change_key_case($pets, CASE_UPPER); print_r($result); ?> ``` **Output:** ```text Array ( => Cat => Bird => Horse ) ``` *Explanation:* Both `"B" => "Dog"` and `"b" => "Bird"` convert to the uppercase key ``. Because `"b" => "Bird"` appears last in the original array, its value overwrites `"Dog"`. ### Non-String Keys If the array contains numeric keys, they will remain unchanged because case conversion only applies to string keys. ```php 1, 2 => "Second", "Third" => 3); $result = array_change_key_case($mixed, CASE_UPPER); print_r($result); ?> ``` **Output:** ```text Array ( => 1 => Second => 3 ) ```
← Func Array ChunkFunc Array β†’