我有这个代码:
print_r(array_keys($variables));
if (array_key_exists('form', $variables)) {
print "YES!";
}
$imgs = $variables['form']['field_images'];
它是我用来在 Drupal 中为表单页面设置主题的代码的一部分。YES 被打印出来,但是,drupal 报告未定义的索引。感谢您的慷慨帮助
$variables['form']
确实存在,但$variables['form']['field_images]
可能不存在。这就是为什么您会收到有关 的通知undefined index
。
因此,在调用它之前,您应该确保该子项也存在。
尝试这个:-
PHP抛出通知。您可以添加 isset() 或 !empty() 检查以避免错误,如下所示:
if(isset($variables)) ) && !empty($variables)) ))
{
if (array_key_exists('form', $variables)) {
print "YES!";
}
$imgs = $variables['form']['field_images'];
}
作为Ikke的答案的示例实现:
if ( !array_key_exists('form', $variables) ) {
echo 'missing parameter form';
}
else if ( !array_key_exists('field_images', $variables['form']) ) {
echo 'missing parameter field_images';
}
else {
$imgs = $variables['form']['field_images'];
}