我有一个代码,可以显示文件夹中的4张图片。
我使用rand()
函数,以便每次为这些图片中的每一个呈现不同的图片,但有时,我在同一页面中收到相同的图片。
为了不两次收到相同的图片我该怎么做?
答案 0 :(得分:9)
我将所有可能的图像保存在一个数组中shuffle,如下所示:
$images = array('1.png','2.png','3.png','4.png');
shuffle($images);
foreach ($images as $image) {
// do something with the image
}
答案 1 :(得分:0)
你是从数组中的所有图像开始的吗?
如果是这样,我个人会使用shuffle($pictures);
然后可能array_chunk($pictures, 4)
获得4人组。
答案 2 :(得分:0)
我已经完成了这个功能。使用以下代码
<?php
function GenRandom($min, $max, $quantity) {
$numbers = range($min, $max);
shuffle($numbers);
return array_slice($numbers, 0, $quantity);
}
foreach(GenRandom(1,4,4) as $test){
echo $test.".png<br>"; // generates unique id everytime
}
?>
希望这有助于你
答案 3 :(得分:0)
使用未随机化的所有图片生成数组。
随机整个数组。
如果需要,可以在db(或其他地方)中保存随机数组。
显示图片时,从数组中获取第一个值以获取随机名称。
从数组中删除第一个值。
每个请求重复4-5点。
如果数组为空,请转到第1点。