當前位置: 首頁> 最新文章列表> 如何使用array_change_key_case() 將數組鍵轉換為小寫?

如何使用array_change_key_case() 將數組鍵轉換為小寫?

M66 2025-04-25

在PHP 中,如果我們有一個關聯數組,並希望將其中所有鍵名統一轉換為小寫(或者大寫),可以使用內置函數array_change_key_case() 。這個函數非常實用,尤其是在處理從外部數據源(比如API、表單、數據庫)獲取的數據時,可以避免因為鍵名大小寫不一致而導致的問題。

函數語法

array_change_key_case(array $array, int $case = CASE_LOWER): array
  • $array :要操作的原始數組。

  • $case :轉換的目標大小寫類型。默認為CASE_LOWER (小寫),也可以使用CASE_UPPER (大寫)。

示例:將數組的鍵名轉換為小寫

<?php

$data = [
    "Name" => "張三",
    "AGE" => 28,
    "Email" => "zhangsan@m66.net"
];

$lowercased = array_change_key_case($data, CASE_LOWER);

print_r($lowercased);
?>

輸出:

 Array
(
    [name] => 張三
    [age] => 28
    [email] => zhangsan@vv99.net
)

可以看到,原始數組中的鍵名NameAGEEmail全部被轉換成了小寫。

實際應用場景舉例

假設你從一個第三方API(比如https://api.m66.net/user/info )接收到如下JSON 數據:

 {
    "UserID": 1024,
    "UserName": "lisi",
    "Email": "lisi@m66.net"
}

你在解析這個JSON 並轉為數組之後,可能會希望所有的鍵名都統一為小寫來方便處理:

 <?php

$json = '{
    "UserID": 1024,
    "UserName": "lisi",
    "Email": "lisi@m66.net"
}';

$data = json_decode($json, true);
$normalized = array_change_key_case($data, CASE_LOWER);

print_r($normalized);
?>

輸出結果為:

 Array
(
    [userid] => 1024
    [username] => lisi
    [email] => lisi@vv99.net
)

這樣處理之後,後續就可以放心地通過$normalized['email']$normalized['username']訪問對應的值,而不需要擔心原始數據中鍵名的大小寫。

小貼士

  • array_change_key_case()只作用於第一層數組鍵名。如果你的數組是多維的,需要結合循環或遞歸來處理嵌套數組。

  • 如果你想轉換為大寫,只需將第二個參數改為CASE_UPPER