2013-12-09 88 views
-1

我如何随机我的数组元素和项目的数量限制将显示给5随机化我的数组元素

我的代码是:

while($row = mysql_fetch_assoc($result)) 
{ 
    $new_array[] = $row; 
} 
    echo '<pre>'; print_r(($new_array)); 
+0

使用'shuffle'随机化,并从'0'到'5'循环。简单的谷歌会为你解决这个问题。 – christopher

+1

发布你的整个代码,因为你是从MySQL源拉动随机结果集在查询'ORDER BY'字段'RAND'类型的东西,你也可以使用'LIMIT'来限制返回结果的数量,即:'LIMIT 0 ,5'只能提取5个结果 – Dave

+0

这与以前的问题有什么不同? [显示和随机化php阵列](http://stackoverflow.com/questions/20469360/displaying-and-randomising-php-array) –

回答

0
shuffle($array); 
$pointer = 0; 
foreach($array as $value) { 
    if($pointer > 4) break; 
    echo $value; 
    $pointer++ 
} 

shuffle将随机您的数组,然后你在0处开始一个指针,然后在你的foreach循环中增加它,如果你的指针超过了4,你打破foreach循环

作为另一种解决方案,你可以使用for循环

shuffle($array); 
for($i = 0; $i < 5; $i++) { 
    echo $array[$i]; 
} 

和限制多了一个解决方案,因为你一查询拉动为您的数据库阵列,您可以通过在您的查询的末尾添加LIMIT 5限制由你选择一些返回的行数。