You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 10:10:22