PHP rand 生成零,即使范围应该是 2 到 36?
for ($i = 1; $i <= $numITER; $i++) {
$val = rand(2,36);
switch (TRUE) {
case ($val<=10):
$vercodeTEMP.=$val;
break;
case ($val>10):
if ($val != 25 && $val != 19) {
$vercodeTEMP.=chr(54+$val);
} else {
$i=$i-1;
}
break;
}
}
我基本上试图避免 0、1 以及字母 O 和 I。当 rand 范围为 2 到 36 时,这怎么可能给我零?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果 $val == 10,那么您将把 $val 附加到 $vercodeTEMP 上。
尝试:
If $val == 10, then you will append $val onto $vercodeTEMP.
Try:
不搞乱幻数(除了位置)并使用 PHP 的
range()
?键盘。
What about not messing with magic numbers (besides position) and using PHP's
range()
?CodePad.