不要显示相同的图像

时间:2015-12-16 09:18:30

标签: php wordpress

此脚本显示50个随机图像 改变了自己。 但有时会显示相同的图像 怎么不显示相同的图像?

我的代码

<?php
        $all_images = glob("wp-content/themes/mysite/img-company/{*.jpg, *.JPG, *.JPEG, *.png, *.PNG}", GLOB_BRACE);

$images = glob("wp-content/themes/mysite/img-company/{*.jpg, *.JPG, *.JPEG, *.png, *.PNG}", GLOB_BRACE);
shuffle($all_images);



foreach ($all_images as $index => $image ) {
     if ($index == 50) break;  // Only print 50 images
     $image_name = basename($image);
     $randomImage = $images[array_rand($images)];
     echo "<li><img src='/wp-content/themes/mysite/img-company/{$image_name}' /><img src='/$randomImage' /></li>";
}
    ?>

2 个答案:

答案 0 :(得分:2)

显而易见的方法是从数组中删除呈现的图像:

$randomImage = $images[array_rand($images)];
$images = array_diff($images, array($randomImage));

答案 1 :(得分:0)

另一个解决方案:只需使用unset从数组中删除元素,如下所示:

$random = array_rand($images);
$randomImage = $images[$random];
unset($images[$random]);