當前位置: 首頁> 最新文章列表> PHP array_change_key_case() 函數的基本用法

PHP array_change_key_case() 函數的基本用法

M66 2025-04-24

在PHP 的數組操作中,鍵名的大小寫有時會影響數據的處理結果。為了統一數組鍵名的格式,PHP 提供了一個非常實用的函數: array_change_key_case() 。這個函數可以將數組中所有鍵名轉換為大寫或小寫,特別適用於數據清洗、標準化等場景。

函數語法

array_change_key_case(array $array, int $case = CASE_LOWER): array
  • $array :必需。要處理的輸入數組。

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

使用示例

下面是一個簡單的示例,展示如何使用array_change_key_case()將數組鍵名轉換為小寫和大寫。

 <?php

$data = [
    "Name" => "Alice",
    "EMAIL" => "alice@m66.net",
    "Age" => 25
];

// 轉換為小寫鍵名
$lowercaseKeys = array_change_key_case($data, CASE_LOWER);
print_r($lowercaseKeys);

/* 輸出:
Array
(
    [name] => Alice
    [email] => alice@vv99.net
    [age] => 25
)
*/

// 轉換為大寫鍵名
$uppercaseKeys = array_change_key_case($data, CASE_UPPER);
print_r($uppercaseKeys);

/* 輸出:
Array
(
    [NAME] => Alice
    [EMAIL] => alice@vv99.net
    [AGE] => 25
)
*/
?>

注意事項

  1. 鍵值不變array_change_key_case()只修改鍵名的大小寫,不會影響數組的值。

  2. 鍵名衝突:如果轉換後產生了重複鍵名(比如"Email" 和"EMAIL" 都存在),後一個鍵會覆蓋前一個。

  3. 僅適用於字符串鍵名:數值型鍵名不會被影響。

實際應用場景

假設你從一個API 獲取用戶數據,返回結果中的鍵名格式不統一:

 $response = [
    "User_ID" => 101,
    "user_name" => "Bob",
    "EMAIL" => "bob@m66.net"
];

為了方便處理,你可能需要統一鍵名為小寫:

 $cleanedResponse = array_change_key_case($response, CASE_LOWER);

統一後的鍵名可以減少處理數據時出錯的可能性,尤其是在使用array_key_exists()isset()之類函數時。