Drupal 模块的嵌套 foreach 循环

Nested foreach loop for Drupal module

我想解析数组并想从数组中获取 sid 值。我已经使用 foreach 进行了跟踪,如下所示。我在 Drupal 模块的第二个 foreach 循环中收到一条警告消息。如何添加

foreach($submission as $sub) {
  foreach($sub as $a) { // Warning: Invalid argument supplied for foreach() 
    if (isset($a[1])) {
      $sid = $a[1]->sid;
    }
  }
}

$submission 值:

 Array
 (
   [build_info] =>

Array
(
    [args] => Array
        (
            [0] => stdClass Object
                (

                )

            [1] => stdClass Object
                (
                    [sid] => 176
                    [nid] => 2
                    [submitted] => 1522130239
                    [remote_addr] => ::1
                    [uid] => 1
                    [name] => admin
                    [is_draft] => 0
                )

        )
)
)

据我从您的代码片段中了解到,它应该是以下内容:

$sid = $submission['build_info']['args'][1]->sid;

或者,如果您更喜欢在 foreach 循环中使用它:

foreach ($submission['build_info']['args'] as $key => $args) {
  $sid = isset($args->sid) ? $args->sid : NULL;
}