当前位置: 代码迷 >> PHP >> 遇到怪事了 PHP 设定了range范围 但运行结果却是显示在范围之外,为什么
  详细解决方案

遇到怪事了 PHP 设定了range范围 但运行结果却是显示在范围之外,为什么

热度:34   发布时间:2016-04-28 16:51:05.0
碰到怪事了 PHP 设定了range范围 但运行结果却是显示在范围之外,为什么?
一段PHP随机代码,设定了range(1,30)但多次运行结果会显示出0,why?
代码:
<?php
$red1=range(1,30);
$sc1=array_rand($red1,8);
?>
<div>
<?php
foreach($sc1 as $v){
echo "$v ";
}
?>

<?php
$red2=range(1,30);
$sc1=array_rand($red2,8);
?>
<div>
<?php
foreach($sc1 as $v){
echo "$v ";
}
?>
<?php
$red1=range(1,30);
$sc1=array_rand($red1,8);
?>
<div>
<?php
foreach($sc1 as $v){
echo "$v ";
}
?>

<?php
$red2=range(1,30);
$sc1=array_rand($red2,8);
?>
<div>
<?php
foreach($sc1 as $v){
echo "$v ";
}
?>
请多刷新几次,第一个数竟然会出现0?。。为什么?


------解决思路----------------------

------解决思路----------------------
你想要的应该是打乱数组排序,取8个元素出来是吧?

shuffle($red1);
$red1 = array_splice($red1,0,8);
------解决思路----------------------
array_rand()随机取出来的是键名;
  相关解决方案