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

如何将这段PHP for循环代码改写为while循环?(错误代码求助)

修正PHP while循环生成随机数并判断奇偶的问题

你的while循环代码存在逻辑错误,导致奇偶判断完全失效(实际会输出10个结果,但全部被错误判定为偶数)。错误根源在于把随机数的赋值操作当成了奇偶判断条件:mt_rand(1,100)生成的1-100整数永远是非零值,所以if分支会一直执行,$result永远是'even'。

以下是修正后的代码:

<?php
$i = 0;
while ($i < 10) {
    // 先生成1-100的随机数
    $number = mt_rand(1, 100);
    // 正确判断奇偶性
    if ($number % 2 == 0) {
        $result = 'even';
    } else {
        $result = 'odd';
    }
    echo $number . ' (' . $result . ')<br>';
    $i++;
}
?>

修改说明

  • 将随机数生成与奇偶判断拆分开:先通过$number = mt_rand(1, 100)生成随机数,再用$number % 2 == 0判断是否为偶数,和原for循环的逻辑保持一致。
  • 循环计数变量$i的递增逻辑不变,确保循环执行10次,生成10组结果。

内容的提问来源于stack exchange,提问作者Relebogile Chiloane

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 23:33:22