我在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;
答案 0 :(得分:5)
错字。
$images = NULL;
应该是
$image = NULL;
答案 1 :(得分:1)
在else
中:您有多个 $ images 而不是 $ image 。