php从foreach随机排序


php random order from a foreach

我有一些foreach,这可以很好地工作

foreach ($umm as $data) {
        echo '<img src="'.$data->picture.'" />';
        echo  $data->id;
}

现在我要洗牌前臂。我试过了:

foreach (shuffle($umm) as $data) {
        echo '<img src="'.$data->picture.'" />';
        echo  $data->id;
}

foreach ($umm as $data) {
        $rand_pic[] = $data->picture;
        $rand_id[] = $data->id;
}
$ran = shuffle($rand_id);
foreach($ran as $new){
    echo '<img src="'.$new->picture.'" width="100" />';
    echo $new->id;
}

所有这些都导致了第二个CCD_ 2中的CCD_。如何从前臂随机排序?

查看shuffle()的文档。它获取对数组的引用,并将其混洗到位。所以你需要在数组上使用它,然后迭代:

shuffle($umm);
foreach ($umm as $data) {
        echo '<img src="'.$data->picture.'" />';
        echo  $data->id;
}

shuffle()返回一个布尔值-通过引用传递数组

试试这个:

shuffle($umm);
foreach($umm as $new){
    echo '<img src="'.$new->picture.'" width="100" />';
    echo $new->id;
}

尝试此无序播放:

<?php 
   shuffle($umm);
   foreach($umm as $key => $value): ?>
	<img src="<?php echo $value->picture; ?>" alt="<?php echo $value->title;?>" />
	<?php echo $value->id;?>	  
<?php endforeach; ?>