php唯一的rand()里面的数字

时间:2014-06-05 21:52:28

标签: php

我正在尝试使用php以随机顺序放置大量图像这是我尝试过的

for ($i=47; $i < 54; $i++) {
            echo "<img width='205' src='IMG_03";
            echo rand(47,53);
            echo ".jpeg' alt=''>";  
}

但是这段代码包含重复,如果没有两次47到53之间的相同随机数,我怎么能这样做呢?

3 个答案:

答案 0 :(得分:1)

<?php

$numbers = range(47, 54);
shuffle($numbers);

foreach($numbers as $n) {
    echo '<img src="IMG_03'.$n.'.jpg" alt="" />';
}

答案 1 :(得分:1)

试试这个:

$array = range(47, 53);
shuffle($array);

foreach ($array as $a) {
    echo "<img width='205' src='IMG_03";
    echo $a;
    echo ".jpeg' alt=''>";  
}

range()在给定值之间创建一个数字数组:47,48,...,53

shuffle()按随机顺序排列

答案 2 :(得分:0)

使用shuffle方法

$arr = array(47, 48, 49, 50, 51, 52, 53);

shuffle($arr);

while($element = array_pop($arr)){
    echo "<img width='205' src='IMG_03";
    echo $element;
    echo ".jpeg' alt=''>";  
}