打印出阵列中的随机图像

时间:2014-11-18 17:23:57

标签: php arrays image

我创建了一个包含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行是回声

的地方

提前谢谢

4 个答案:

答案 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)];
?> 

单引号强制将字符串计算为字符串,并且不使用变量值。在特殊字符周围使用单引号,然后您不必逃避它们。