在PHP 中, array_change_key_case()是一個非常實用的數組函數,用於將數組中所有鍵名的大小寫統一轉換。這個函數可以簡化在處理用戶輸入或接口數據時因大小寫不一致所帶來的問題。
array_change_key_case(array $array, int $case = CASE_LOWER): array
$array :必需,要處理的輸入數組。
$case :可選,默認是CASE_LOWER ,表示轉換為小寫。你也可以使用CASE_UPPER轉換為大寫。
該函數返回一個鍵名大小寫已被轉換的新數組,原數組保持不變。
$data = [
"Name" => "Alice",
"AGE" => 25,
"City" => "Shanghai"
];
$result = array_change_key_case($data);
print_r($result);
Array
(
[name] => Alice
[age] => 25
[city] => Shanghai
)
$data = [
"Name" => "Bob",
"gender" => "Male",
"country" => "China"
];
$result = array_change_key_case($data, CASE_UPPER);
print_r($result);
Array
(
[NAME] => Bob
[GENDER] => Male
[COUNTRY] => China
)
如果數組中存在多個鍵名僅大小寫不同的項,在轉換過程中會出現鍵名衝突,後一個會覆蓋前一個。
該函數不會影響嵌套數組的鍵名,只處理最外層。
$data = [
"Email" => "user1@m66.net",
"EMAIL" => "user2@m66.net"
];
$result = array_change_key_case($data, CASE_LOWER);
print_r($result);
Array
(
[email] => user2@vv99.net
)
如上所示,"EMAIL" 覆蓋了"Email" 的值。
統一處理來自不同來源的數組數據時,消除大小寫差異。
在進行數組鍵值比較或查找時,提升準確性和一致性。
用於構建不區分大小寫的配置讀取功能。
結合array_change_key_case()和array_map() ,可以實現更複雜的數據預處理邏輯,比如統一處理用戶提交的表單數據。