在PHP 中, array_change_key_case()是一個用於改變數組中所有鍵名的大小寫的函數。它接受兩個參數:
array_change_key_case(array $array, int $case = CASE_LOWER): array
$array :要處理的數組;
$case :可選參數,用來指定鍵名轉換的大小寫( CASE_LOWER或CASE_UPPER ,默認是小寫)。
那麼問題來了:如果傳入的是null或者一個空數組,會發生什麼?函數是否會報錯?
$result = array_change_key_case([]);
var_dump($result);
輸出:
array(0) {
}
可以看到,當傳入一個空數組時, array_change_key_case()會正常執行並返回一個空數組。不會報錯。
$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()是一個實用的數組處理函數,但它要求參數必須是數組類型。如果你在編寫更健壯的代碼,建議先驗證數據類型,防止意外發生。