## 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
)
```
π Categories
- β‘ JavaScript (1589)
- π PHP (872)
- π Python3 (810)
- π HTML (691)
- βοΈ C# (650)
- π Python (594)
- β Java (552)
- βοΈ PyTorch (534)
- π§ Linux (472)
- βοΈ C (432)
- π¦ jQuery (406)
- π¨ CSS (377)
- π XML (259)
- π¦ jQuery UI (231)
- π― Bootstrap (220)
- βοΈ C++ (215)
- π °οΈ Angular (205)
- π HTML DOM (201)
- π΄ Redis (188)
- π Web Building (142)
- π Vue.js (141)
- π R (131)
- πΌ Pandas (124)
- ποΈ SQL (105)
- βοΈ Docker (86)
- βοΈ TypeScript (73)
- βοΈ Highcharts (70)
- π AI Agent (70)
- βοΈ React (68)
- π Node.js (65)
- βοΈ Machine Learning (60)
- π Git (59)
- π΅ Go (58)
- π Markdown (58)
- π’ NumPy (55)
- π§ͺ Flask (54)
- βοΈ Scala (53)
- ποΈ SQLite (52)
- π JSTL (52)
- βοΈ VS Code (51)
- π MongoDB (49)
- π Perl (48)
- π Ruby (47)
- π Matplotlib (47)
- βοΈ Uncategorized (46)
- π Swift (46)
- ποΈ PostgreSQL (46)
- βοΈ Data Structures (46)
- π Playwright (46)
- π iOS (45)
- ποΈ MySQL (44)
- βοΈ LangChain (43)
- π FastAPI (40)
- βοΈ Ionic (38)
- π Design Patterns (37)
- βοΈ Eclipse (37)
- π¨ CSS3 (34)
- π Lua (34)
- βοΈ Codex (34)
- πΈ Django (32)
- βοΈ OpenCV (32)
- π Rust (31)
- π JSP (31)
- βοΈ Claude Code (31)
- π Pillow (30)
- βοΈ OpenCode (28)
- π AI Skills (27)
- π Flutter (26)
- π Maven (26)
- π¨ Tailwind CSS (25)
- π§ TensorFlow (25)
- π Servlet (24)
- π Dart (23)
- π Assembly (23)
- βοΈ Memcached (22)
- βοΈ SVG (22)
- βοΈ Electron (22)
- π NLP (22)
- π Regex (21)
- π Android (20)
- π£ Kotlin (19)
- π Julia (19)
- π SOAP (17)
- π Selenium (17)
- π PowerShell (17)
- π Sass (16)
- π HTTP (16)
- π Zig (15)
- π AI (15)
- π AJAX (14)
- π Swagger (14)
- βοΈ Scikit-learn (13)
- βοΈ ECharts (13)
- βοΈ Chart.js (13)
- βοΈ Cursor (13)
- βοΈ SciPy (12)
- π RDF (12)
- π Ollama (12)
- π Next.js (12)
- π Plotly Dash (12)
- π JSON (11)
- π RESTful API (11)
- π WSDL (9)
- βοΈ CMake (8)
- π Firebug (7)
- π Nginx (6)
- βΈοΈ Kubernetes (6)
- π Jupyter (6)
- π LaTeX (4)
- π UniApp (4)
- ποΈ SQL Server (1)
YouTip