当前位置: 首页> 最新文章列表> 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() 是一个实用的数组处理函数,但它要求参数必须是数组类型。如果你在编写更健壮的代码,建议先验证数据类型,防止意外发生。