Php 从数组中打印出随机图像

Php 从数组中打印出随机图像,php,arrays,image,Php,Arrays,Image,我已经创建了一个包含2个图像的数组,我想随机显示这些图像(所以当页面刷新时会显示一个不同的显示,等等),我重复使用了很久以前使用的代码,它似乎不起作用。有人能帮我解决哪里出了问题吗 <?php $images = array( '<a href="http://www.linkedsite.com/" target="_blank"><img class="succes_img" src="/skin/frontend/theme/default/

我已经创建了一个包含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[]'";?> 


首先,您的数组值包含html标记,因此您要回显的值将是img标记内的所有html标记。其次,在$images数组周围使用单引号,这将告诉php打印$images[],而不是数组的值。第三,回显数组时,没有给出索引值。假设您希望将html标记保留在数组中,则以下代码应该可以工作:

<?php echo $images[0];?>

这里有一种方法,您不仅可以使其随机,还可以使其动态,以便在选择向阵列添加更多图像时自动调整

$i = mt_rand(0, count($images));

src=$images[$i]
请注意,这样做不需要洗牌数组。此外,您只需要数组中的img url,而不需要html的其余部分。


<?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)];
?> 
单引号强制将字符串作为字符串进行计算,并且不会使用变量值。在特殊字符周围使用单引号,这样就不必转义它们


<?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];
?> 
试试这个。

需要跳出echo语句中的“success\u img”