如何检查数组对象是否包含php中的关联数组?

时间:2015-07-28 06:51:45

标签: php arrays

这是一个包含数组[body]的数组对象。我怎么知道这个对象里面有数组并给我它的键?

Array
(
    [6] => stdClass Object
        (
            [vid] => 6
            [uid] => 1
            [title] => om
            [log] => 
            [status] => 1
            [comment] => 2
            [promote] => 0
            [sticky] => 0
            [nid] => 6
            [type] => article
            [language] => und
            [created] => 1436514497
            [changed] => 1438003101
            [tnid] => 0
            [translate] => 0
            [revision_timestamp] => 1438003101
            [revision_uid] => 1
            [body] => Array
                (
                    [und] => Array
                        (
                            [0] => Array
                                (
                                    [value]

3 个答案:

答案 0 :(得分:2)

您需要检查对象是否包含body属性,which is arraywhich should not be empty

并且在三个条件完成后获取密钥。

使用is_array(),array_keys()isset()

if (isset($obj->body) && is_array($obj->body) && ! empty($obj->body)) {
  // yes it has
  $keys = array_keys($obj->body);
}
else {
  // either body is not there or body is empty. 
}

修改

检查任何对象属性是否为数组并返回其键。

foreach (get_object_vars($obj) as $var) {
  if (gettype($var) == 'array') {
    $keys = array_keys($var);
  }
}

答案 1 :(得分:1)

$main_array视为您的给定结果。 试试这个

if( is_array($main_array->body) )
{
// do your process
}

答案 2 :(得分:0)