在PHP中随机播放一个数组

时间:2011-03-17 02:28:48

标签: php shuffle

我有以下代码:

<?php
foreach($bb['slides'] as $b):
$url = "domain.com/" . $b->image . ";
echo($url);
endforeach;
?>

输出如下: domain.com/image1.jpg domain.com/image2.jpg domain.com/image3.jpg

我试图随机化输出的顺序。在foreach语句之前,我尝试使用shuffle($ bb)对数组进行洗牌;但那没用。任何帮助表示赞赏。

6 个答案:

答案 0 :(得分:9)

由于$ bb是一个数组数组,shuffle()不会随机化子数组,在嵌套数组上尝试shuffle,如下所示:

shuffle($bb['slides']);

答案 1 :(得分:3)

当你应该完成时,你可能会改组外部的$ bb数组:

shuffle($bb['slides']);
foreach($bb['slides'] as $b):

答案 2 :(得分:1)

shuffle($array_name); // will shuffle array

http://www.php.net/manual/en/function.shuffle.php

此外,foreach应该是

for($array_name as $array_item) {
// do stuff
}

答案 3 :(得分:1)

<?php
shuffle($bb['slides']);
foreach($bb['slides'] as $b) {
    echo $url = "domain.com/" . $b->image . ";
}
?>

通过示例查看此博客以获取解释。

http://wamp6.com/php/str_shuffle-php/ Check for array shuffle

答案 4 :(得分:0)

您似乎需要shuffle( $bb['slides'] )

答案 5 :(得分:0)

以随机顺序显示内容

<?php
$myContentList = array (
    'One',
    'Two',
    'Three',
    'Four'
);
shuffle ($myContentList);
foreach ($myContentList as $displayAtRandomOrder) {
echo '<div>' . $displayAtRandomOrder . '</div>';
}
?>

以随机顺序显示图片

<?php
$myImagesList = array (
    'one.png',
    'two.png',
    'three.jpg',
    'four.gif'
);
shuffle ($myImagesList);
foreach ($myImagesList as $displayImagesAtRandomOrder) {
echo '<img src="images/' . $displayImagesAtRandomOrder . '" width="200" height="40" border="0" />';
}
?>