如何判断 foreach 循环中的数组元素是否有键?
一些代码:
function test($p_arr){
foreach ($p_arr as $key => $value){
// detect here if key 'came with the array' or not
}
}
$arr1['a'] = 10;
$arr2[] = 10;
$arr3[2] = 10;
test($arr1); // yes
test($arr2); // no
test($arr3); // yes
编辑#1
我知道这$arr2
也是一个自动索引键。我需要知道它是否是自动化的。
编辑#2
我的使用很简单。
在函数中,我创建一个新数组并将$key
用作 new $key
,如果它是由函数调用提供的。或者$value
作为 new $key
,如果它在函数调用中被省略。
我知道我可以强制对每个元素使用键,但是在代码的某些部分,数据结构本身是非常动态的* - 我正在尝试尽可能地保持灵活性。
*创建其他代码的代码,创建......等等。