我创建了一个包含2个图像的数组,我想随机显示这些图像(所以当页面刷新不同的节目时会显示,等等)我已经重新使用了很久以前使用的代码而且它似乎没有工作,有人可以帮我解决我出错的地方。
<?php
$images = array(
'<a href="http://www.linkedsite.com/" target="_blank"><img class="succes_img" src="/skin/frontend/theme/default/images/man_feedback.png" alt="linkedsitename" /></a>',
'<a href="http://www.linkedsite.com/" target="_blank"><img class="succes_img" src="/skin/frontend/theme/default/images/woman_feedback.png" alt="linkedsitename" /></a>'
);
shuffle($images); // Randomize images array;
?>
<?php echo "<img class="succes_img" src='$images[]'";?>
我相信这是我试图回应图像,但我尝试的一切我不断收到此错误信息
解析错误:语法错误,意外&#39 ;;&#39;在第42行的/home/domain/public_html/app/design/frontend/base/default/template/checkout/success.phtml
第42行是回声
的地方提前谢谢
答案 0 :(得分:2)
这是一种不仅可以使其随机化,而且可以使其动态化的方式,因此如果您选择向阵列添加更多图像,它会自动调整。
$i = mt_rand(0, count($images));
src=$images[$i]
请注意,这样做您不需要随机播放数组。此外,你只需要数组中的img url,而不是html的其余部分。
答案 1 :(得分:1)
首先,您的数组值包含html标记,因此您回显的值将是img标记内的所有html标记。其次你在$ images数组周围使用单引号,它会告诉php打印$ images []而不是数组的值。第三,当您回显数组时,您没有给出索引值。假设您希望将html标记保留在数组中,以下代码应该可以正常工作:
<?php echo $images[0];?>
答案 2 :(得分:1)
<?php
$images = array(
'<a href="http://www.linkedsite.com/" target="_blank"><img class="succes_img" src="/skin/frontend/theme/default/images/man_feedback.png" alt="linkedsitename" /></a>',
'<a href="http://www.linkedsite.com/" target="_blank"><img class="succes_img" src="/skin/frontend/theme/default/images/woman_feedback.png" alt="linkedsitename" /></a>'
);
shuffle($images); // Randomize images array;
?>
<?php
echo $images[0];
?>
试试这个。
答案 3 :(得分:0)
<?php
$images = array(
'<a href="http://www.linkedsite.com/" target="_blank"><img class="succes_img" src="/skin/frontend/theme/default/images/man_feedback.png" alt="linkedsitename" /></a>',
'<a href="http://www.linkedsite.com/" target="_blank"><img class="succes_img" src="/skin/frontend/theme/default/images/woman_feedback.png" alt="linkedsitename" /></a>'
);
?>
<?php
echo $images[shuffle($images)];
?>
单引号强制将字符串计算为字符串,并且不使用变量值。在特殊字符周围使用单引号,然后您不必逃避它们。