Почему я получаю неопределенную переменную здесь? - PullRequest
1 голос
/ 07 декабря 2011

У меня есть этот код в файле 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 ]

5 голосов
/ 07 декабря 2011

опечатка.

$images = NULL;

должно быть

$image = NULL;
1 голос
/ 07 декабря 2011

In else: у вас есть множественное число $ images вместо $ image .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...