PHP array_change_key_case 函数
最后修改于 2025 年 3 月 13 日
PHP 的 array_change_key_case
函数用于更改数组中所有键名的大小写。它可以将键名转换为大写或小写。
基本定义
array_change_key_case
函数返回一个所有键名都已转换为指定大小写的数组。它同时适用于字符串键名和数字键名。
语法:array_change_key_case(array $array, int $case = CASE_LOWER): array
。$case
参数可以是 CASE_LOWER
或 CASE_UPPER
。
基本 array_change_key_case 示例
此示例演示如何将所有数组键名转换为小写。
basic_array_change_key_case.php
<?php $user = [ 'FirstName' => 'John', 'LastName' => 'Doe', 'Age' => 30 ]; $lowerKeys = array_change_key_case($user); print_r($lowerKeys);
输出将显示所有键名都已转换为小写。数字键名保持不变,因为它们不受大小写转换的影响。
转换为大写
此示例展示了如何使用该函数将所有键名转换为大写。
uppercase_keys.php
<?php $config = [ 'db_host' => 'localhost', 'db_user' => 'admin', 'db_pass' => 'secret' ]; $upperKeys = array_change_key_case($config, CASE_UPPER); print_r($upperKeys);
生成的数组将包含所有大写的键名。这在您需要一致的键名大小写以进行区分大小写的操作时非常有用。
混合键类型
该函数可处理包含混合键类型(字符串和数字)的数组。
mixed_keys.php
<?php $mixed = [ 'Name' => 'Alice', 0 => 'Zero', 'Age' => 25, 1 => 'One' ]; $lowerMixed = array_change_key_case($mixed); print_r($lowerMixed);
只有字符串键名会被转换为小写。数字键名在输出数组中保持不变,保留其原始值和位置。
重复键名处理
当大小写转换导致重复键名时,后面的值会覆盖前面的值。
duplicate_keys.php
<?php $data = [ 'USERNAME' => 'admin', 'username' => 'guest', 'Password' => '12345' ]; $uniformKeys = array_change_key_case($data); print_r($uniformKeys);
在转换后,“USERNAME”和“username”都变成了“username”。结果中最后一个出现的值(“guest”)会覆盖第一个值(“admin”)。
多维数组
该函数仅更改数组结构顶层的键名。
multidimensional_array.php
<?php $company = [ 'CompanyName' => 'ACME', 'Departments' => [ 'Sales' => ['John', 'Jane'], 'IT' => ['Mike', 'Sarah'] ] ]; $lowerCompany = array_change_key_case($company); print_r($lowerCompany);
只有顶层键名(“CompanyName”和“Departments”)被转换。嵌套数组的键名保持不变,保留其原始的大小写。
最佳实践
- 一致性: 在代码中保持键名大小写的一致性。
- 区分大小写: 注意区分大小写的操作。
- 数据完整性: 检查潜在的键名冲突。
- 性能: 考虑对大型数组的影响。
来源
本教程通过实际示例演示了 PHP array_change_key_case
函数在数组键名大小写转换方面的用法。
作者
列出 所有 PHP 数组函数。