當前位置: 首頁> 最新文章列表> array_change_key_case() 與array_flip() 結合使用的技巧

array_change_key_case() 與array_flip() 結合使用的技巧

M66 2025-04-25

在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
)

注意事項

  1. 如果數組中存在多個鍵名僅大小寫不同的項,在轉換過程中會出現鍵名衝突,後一個會覆蓋前一個。

  2. 該函數不會影響嵌套數組的鍵名,只處理最外層。

示例三:鍵名衝突的情況

$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() ,可以實現更複雜的數據預處理邏輯,比如統一處理用戶提交的表單數據。