2016-09-17 87 views
1

我需要一个PHP脚本为我的网站,以从数组中挑选(所有)值并随机显示它们。如何以随机顺序一次显示所有数组值?

每个值只能显示一次。

这是迄今为止我写的代码,问题是值不会被采取一次。

<?php 
$one = 'SITE 1<br><br>'; 
$two = 'SITE 2<br><br>'; 
$three = 'SITE 3<br><br>'; 
$four = 'SITE 4<br><br>'; 
$five = 'SITE 5<br><br>'; 

$array = array($one, $two, $three, $four, $five); 
for ($i=0; $i<5; $i++) { 
    echo $array[rand(0, count($array) - 1)] . "\n"; 
} 
?> 

您可以测试这个代码直接在这里:https://www.fabriziorocca.it/test/phprandom.php

回答

3

您可以使用洗牌:

<?php 
$one = 'SITE 1<br><br>'; 
$two = 'SITE 2<br><br>'; 
$three = 'SITE 3<br><br>'; 
$four = 'SITE 4<br><br>'; 
$five = 'SITE 5<br><br>'; 

$array = array($one, $two, $three, $four, $five); 
shuffle($array); 
foreach($array as $item) { 
    echo $item . "\n"; 
} 
?> 
+0

解析错误:语法错误,意外 '的foreach'(T_FOREACH)中/的public_html /测试/ phprandom.php 10行 –

+1

对不起,我忘了';'洗牌后。再试一次 –

+0

它的工作原理!谢谢。 –