<?php
$a=range(1,33);
$b=array_rand($a,6);
print_r($b);
echo $a[$b[0]]."\n";
echo $a[$b[1]]."\n";
echo $a[$b[2]]."\n";
echo $a[$b[3]]."\n";
echo $a[$b[4]]."\n";
echo $a[$b[5]];
?>
大家看下为什么这二种输出结果会不同。
print_r输出的值中会出现 0
而ECHO 不会出现,ECHO 的值自动+1 。
为什么呢?
$a=range(1,33);
$b=array_rand($a,6);
print_r($b);
echo $a[$b[0]]."\n";
echo $a[$b[1]]."\n";
echo $a[$b[2]]."\n";
echo $a[$b[3]]."\n";
echo $a[$b[4]]."\n";
echo $a[$b[5]];
?>
大家看下为什么这二种输出结果会不同。
print_r输出的值中会出现 0
而ECHO 不会出现,ECHO 的值自动+1 。
为什么呢?
$a = array(0=>1,1=>2,2=>3.....,32=>33;
~print_r $b时~会出现这种情况~ ARRAY[0]=>0.
我这里的range(1.33)是1-33了啊~
这时候的数组是$a[0]=1;$a[1]=2;............$a[32]=33;,下标是0-32,值才是1-33
而array_rand($a,6)返回的是下标
$luckyRed = array();
// 蓝色球
$luckyBlue = mt_rand(1, 16);
do {
$luckyTmp = mt_rand(1, 33);
if (!in_array($luckyTmp, $luckyRed)) $luckyRed[] = $luckyTmp;
} while(count($luckyRed) < 6);
// 输出
echo '红色球:';
foreach ($luckyRed as $red) {
echo $red . ' ';
}
echo '<br />蓝色球:' . $luckyBlue;