2014-03-28 93 views
1

我試圖輸出20個圖像,這些圖像都在命名文件1-20.png中編號。而不是輸出他們,我想隨機輸出。PHP隨機數1-20輸出

本來我有這個,但它顯然是非常靜態的,必須有一種方法可能使用foreach循環,但只是輸出數字而不是數組。

另外,它不應該重複數字。

<?php 
foreach (array_rand($numbers, 19) as $key) 
    echo '<div class="avatar"><img src="' . $numbers[$key] . '.png" /></div>'; 
?> 

然後將數字1-20作爲字符串存儲在頁面上的數組中。

+0

'$順序= array_shuffle(範圍(1,20)); foreach($ order as $ id){echo $ id; }' – Sammitch

+0

@ h2ooooooo b!我整天在PHP和bash之間切換,事情不斷在流血...... – Sammitch

回答

6

也許看看shuffle

像這樣:

<?php 
$numbers = range(1, 20); 
shuffle($numbers); 

foreach ($numbers as $number) { 

    echo $number; 
} 
+0

你認爲數組是否應該走這條路?而不是使用整數。 – Francesca

+0

@Francesca是的,你必須以任何方式使用一個數組(array_shuffle' /'rand()+ isset()'),否則你很可能(它是隨機的)有重複。用一個簡單的'for($ i = 0; $ i <20; $ i ++)'在一個shuffle後循環遍歷數組。 – h2ooooooo

+0

@Francesca如果應該避免重複,則需要維護一個集合/列表。 (OP不清楚這一點) – dognose