Php 随机化我的数组元素
如何随机化数组元素并将要显示的项目数限制为5 我的代码是:Php 随机化我的数组元素,php,mysql,Php,Mysql,如何随机化数组元素并将要显示的项目数限制为5 我的代码是: while($row = mysql_fetch_assoc($result)) { $new_array[] = $row; } echo '<pre>'; print_r(($new_array)); while($row=mysql\u fetch\u assoc($result)) { $new_array[]=$row; } 回声';打印r($new_数组)); shuffle将随机化数组
while($row = mysql_fetch_assoc($result))
{
$new_array[] = $row;
}
echo '<pre>'; print_r(($new_array));
while($row=mysql\u fetch\u assoc($result))
{
$new_array[]=$row;
}
回声';打印r($new_数组));
shuffle
将随机化数组,然后从0开始一个指针,并在foreach循环中递增,如果指针大于4,则中断foreach循环
作为另一种解决方案,您可以使用for循环
shuffle($array);
对于($i=0;$i<5;$i++){
echo$array[$i];
}
还有一个限制的解决方案,因为您是通过查询提取数据库的数组,所以可以通过在查询末尾添加limit 5
来限制所选数字返回的行数。最简单的解决方案
array\u rand($array,5)代码>
使用shuffle
随机分组,并从0
循环到5
。简单的谷歌会帮你解决这个问题。发布你的全部代码,由于您是从mysql源代码中提取的,所以在查询ORDER BY
字段`RAND` type thing中随机化结果集,您也可以使用LIMIT
来限制返回的结果量,即:LIMIT 0,5
将只提取5个结果这与您之前的问题有什么不同?嗯。阵列随机数($新阵列,5);
shuffle($array);
$pointer = 0;
foreach($array as $value) {
if($pointer > 4) break;
echo $value;
$pointer++
}
shuffle($array);
for($i = 0; $i < 5; $i++) {
echo $array[$i];
}