我想执行以下代码来跟踪drupal模块中的数组值。但它不起作用。在PHP中我的代码工作正常,但在Drupal中显示通知。如何在Drupal模块中编写foreach
?
foreach($submission as $s) {
foreach ($s as $a) {
echo $sid = $a[1]->sid;
}
}
注意:未定义的偏移量:webform_submission_publish()中的1(第149行 的
答案 0 :(得分:1)
因为您有一个未定义的偏移量,代码将会中断。
您可以通过检查数组是否已设置来防止此类错误。
foreach ($submission as $s) {
foreach ($s as $a) {
if (isset($a[1])) {
echo $sid = $a[1]->sid;
}
}
}
答案 1 :(得分:0)
当然,您可以在使用之前检查索引1,但是访问索引为1的值有点奇怪,这可能是数组中的第二个元素。您可以使用PHP reset() function获取第一个元素。因此,回声线将读取
echo $sid = reset($a)->sid;