为什么我在这里得到未定义的变量错误?

时间:2011-12-07 19:43:55

标签: php drupal

我在tpl.php文件中有这段代码

<?php foreach ($images as $image): ?>
  <?php print $image ."\n"; ?>
<?php endforeach; ?>

我在预处理功能中有以下内容

function preprocess(&$vars) {
  // Initialize our $images array.
  $vars['images'] = array();

  foreach ($vars['rows'] as $item) {
    if (preg_match('@(<a.*?img.*?</a>)@i', $item, $matches)) {
      $image = $matches[1];
    }
    elseif (preg_match('@(<\s*img\s+[^>]*>)@i', $item, $matches)) {
      $image = $matches[1];
    }
    else {$images = NULL;}
    // Add the image to our image array
    $vars['images'][] = $image;
  }

未定义变量:预处理函数中此行的图像

  $vars['images'][] = $image;

2 个答案:

答案 0 :(得分:5)

错字。

$images = NULL;

应该是

$image = NULL;

答案 1 :(得分:1)

else中:您有多个 $ images 而不是 $ image