如何在PHP循环中查询rand函数结果?初学者随机数判断循环实现求助
解决你的PHP随机数循环问题
首先咱们来看下你代码里的几个小问题:
- 初始值
$number = 0会导致第一次循环先输出0,这并不是随机生成的数字,不符合你的需求 - 当随机数刚好是50的时候,循环条件
$number != 50不成立,不会进入循环体,所以你写的if ($number == 50)判断根本不会执行,也就没法输出"it's 50!"
给你调整成更合适的do-while循环,它会先执行一次代码块(生成随机数、判断输出),再检查循环条件,完美匹配你的需求:
<?php do { $number = rand(0, 100); // 先生成随机数 if ($number == 50) { echo "it's 50!"; } else { echo $number . " "; // 输出非50的数字,加个空格方便区分 } } while ($number != 50); // 只要不是50就重复循环 ?>
如果还是想用while循环的话,得先在循环外先生成一次随机数,再进入循环判断:
<?php $number = rand(0, 100); // 先生成第一个随机数 while ($number != 50) { echo $number . " "; $number = rand(0, 100); // 重新生成 } echo "it's 50!"; // 循环结束说明是50,直接输出 ?>
两种写法都能实现你的需求,do-while的逻辑更贴合“先执行再判断”的场景,代码也更简洁~
内容的提问来源于stack exchange,提问作者Chris L
相关产品推荐
相关产品推荐

