如何知道数组中的键是否为真?如果没有,那就不要使用这个
[0] => array
(
[id] => 1
[some_key] => something
)
[1] => array
(
[id] => 2
)
[2] => array
(
[id] => 3
[some_key] => something
)
foreach($array as $value){
$id = $value->id;
if($value->some_key === TRUE){
$some_key = $value->some_key; //some may have this key, some may not
}
}
不确定检查此数组是否具有some_key
的正确语句是什么。如果我没有检查,它将输出错误信息。
提前致谢。
答案 0 :(得分:2)
尝试
isset($array[$some_key])
如果数组$ array具有索引$ some_key,它将返回true,该索引可以是字符串或整数。
答案 1 :(得分:2)
其他人提到了isset(),其中主要是。但是,如果键下的值为null,它将失败:
$test = array('sampleKey' => null);
isset($test['sampleKey']); // returns false
如果这个案例对你来说很重要,那么有一个显式的array_key_exists()函数可以正确处理它:
答案 2 :(得分:1)
您可以使用isset()
函数查看是否设置了变量。
foreach($array as $value){
$id = $value->id;
if(isset($value->some_key)){
$some_key = $value->some_key;
}
}
答案 3 :(得分:1)
function validate($array)
{
foreach($array as $val) {
if( !array_key_exists('id', $val) ) return false;
if( !array_key_exists('some_key', $val) ) return false;
}
return true;
}