>백엔드 개발 >PHP 튜토리얼 >碰到怪事了 PHP 设定了range范围 但运行结果却是显示在范围之外,为什么?

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

WBOY
WBOY원래의
2016-06-20 12:45:29871검색

一段PHP随机代码,设定了range(1,30)但多次运行结果会显示出0,why?
代码:
$red1=range(1,30);
$sc1=array_rand($red1,8);
?>


foreach($sc1 as $v){
echo "$v ";
}
?>

$red2=range(1,30);
$sc1=array_rand($red2,8);
?>

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

foreach($sc1 as $v){
echo "$v ";
}
?>

$red2=range(1,30);
$sc1=array_rand($red2,8);
?>

foreach($sc1 as $v){
echo "$v ";
}
?>
请多刷新几次,第一个数竟然会出现0?。。为什么?


回复讨论(解决方案)

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

shuffle($red1);
$red1 = array_splice($red1,0,8);

array_rand()随机取出来的是键名;

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.