条件显示数组中的键

时间:2012-03-11 08:55:32

标签: php arrays if-statement key

如何知道数组中的键是否为真?如果没有,那就不要使用这个

[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的正确语句是什么。如果我没有检查,它将输出错误信息。

提前致谢。

4 个答案:

答案 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()函数可以正确处理它:

http://php.net/manual/en/function.array-key-exists.php

答案 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;
}