随机化我的数组元素

时间:2013-12-09 13:51:41

标签: php mysql

如何随机化我的数组元素并将要显示的项目数限制为5

我的代码是:

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

2 个答案:

答案 0 :(得分:1)

最简单的解决方案......

array_rand($array, 5);

PHP array_rand()

答案 1 :(得分: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来限制您选择的数字返回的行数