不能在Drupal 7中工作

时间:2018-03-29 07:24:00

标签: for-loop drupal drupal-7 drupal-modules

我想执行以下代码来跟踪drupal模块中的数组值。但它不起作用。在PHP中我的代码工作正常,但在Drupal中显示通知。如何在Drupal模块中编写foreach

foreach($submission as $s) {
  foreach ($s as $a) {
    echo $sid = $a[1]->sid; 
  }
}
  

注意:未定义的偏移量:webform_submission_publish()中的1(第149行   的

2 个答案:

答案 0 :(得分:1)

因为您有一个未定义的偏移量,代码将会中断。

您可以通过检查数组是否已设置来防止此类错误。

foreach ($submission as $s) {
  foreach ($s as $a) {
    if (isset($a[1])) {
      echo $sid = $a[1]->sid;
    }
  }
}

文档:

http://php.net/manual/en/function.isset.php

答案 1 :(得分:0)

当然,您可以在使用之前检查索引1,但是访问索引为1的值有点奇怪,这可能是数组中的第二个元素。您可以使用PHP reset() function获取第一个元素。因此,回声线将读取

echo $sid = reset($a)->sid;