为什么这个PHP代码会给出“未定义的索引”?

时间:2012-07-30 07:38:47

标签: php drupal drupal-7

我有这段代码:

print_r(array_keys($variables));
if (array_key_exists('form', $variables)) {
 print "YES!";
}
$imgs = $variables['form']['field_images'];

这是我用来在Drupal中对表单页面进行主题化的代码的一部分。是打印出来的,然而,drupal报告了未定义的索引。感谢您的慷慨帮助

3 个答案:

答案 0 :(得分:1)

$variables['form']确实存在,但$variables['form']['field_images]可能不存在。这就是你得到关于undefined index的注意事项的原因。

因此,在调用之前,应确保该子项也存在。

答案 1 :(得分:0)

作为Ikke`s回答的示例实现:

答案 2 :(得分:0)

试试这个: -

PHP引发了通知。您可以添加isset()或!empty()检查以避免错误,例如:

if(isset($variables)) ) && !empty($variables)) ))
{

    if (array_key_exists('form', $variables)) {
     print "YES!";
    }
    $imgs = $variables['form']['field_images'];

}