當前位置: 首頁> 最新文章列表> array_change_key_case() 處理null 或空數組時的返回值是什麼?

array_change_key_case() 處理null 或空數組時的返回值是什麼?

M66 2025-04-25

在PHP 中, array_change_key_case()是一個用於改變數組中所有鍵名的大小寫的函數。它接受兩個參數:

 array_change_key_case(array $array, int $case = CASE_LOWER): array
  • $array :要處理的數組;

  • $case :可選參數,用來指定鍵名轉換的大小寫( CASE_LOWERCASE_UPPER ,默認是小寫)。

那麼問題來了:如果傳入的是null或者一個空數組,會發生什麼?函數是否會報錯?

一、傳入空數組的情況

$result = array_change_key_case([]);
var_dump($result);

輸出:

 array(0) {
}

可以看到,當傳入一個空數組時, array_change_key_case()正常執行並返回一個空數組。不會報錯。

二、傳入null 的情況

$data = null;
$result = array_change_key_case($data);
var_dump($result);

輸出:

 Warning: array_change_key_case(): Argument #1 ($array) must be of type array, null given

這段代碼會觸發一個警告,說明array_change_key_case()要求第一個參數必須是數組類型,傳入null會導致警告並且函數不會返回有效結果(返回null )。

小貼士:如何安全使用

如果你不確定變量是否是數組,建議在調用該函數前加個類型檢查:

 $data = get_data_from_api('https://m66.net/api/data');

if (is_array($data)) {
    $result = array_change_key_case($data, CASE_UPPER);
} else {
    $result = [];
}

var_dump($result);

這樣做可以避免在傳入null或其他非數組類型時出現警告。

三、總結

傳入值是否報錯返回結果
空數組[]空數組[]
null發出警告,返回null

array_change_key_case()是一個實用的數組處理函數,但它要求參數必須是數組類型。如果你在編寫更健壯的代碼,建議先驗證數據類型,防止意外發生。