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 数组函数。