阶乘输出问题

Issue with factorial output

我想看看从 1 到 10 的阶乘输出。但是为此我必须将打印代码 'echo' 放入循环中。在循环外,它只显示 10 的阶乘。这是我的代码。帮我提前知道为什么'echo'在loop.Thanks外不能正常工作求助

$factorial = 1;
for ($n = 1; $n <= 10; $n++) {
    $factorial *= $n;

    echo "$factorial \n";

}
echo PHP_EOL;

$factorial = 1;
for ($n = 1; $n <= 10; $n++) {
    $factorial *= $n;

}

echo "$factorial \n";

Echo during looping 将在每次迭代中输出每个值(这意味着旧数据将被新数据替换)。如果您在循环外(下方)回显,它将只显示最后一次迭代的值。 为了克服您当前的问题,您需要将所有值捕获到数组中,然后以您需要的任何方式打印出来。

您的原始代码

$factorial = 1;
for ($n = 1; $n <= 10; $n++) {
  $factorial *= $n;
}
echo "$factorial \n";

尝试像这样使用数组

$captureData = [];
$factorial = 1;
for ($n = 1; $n <= 10; $n++) {
    $factorial *= $n;
    $captureData[] = $factorial;
}

echo '<pre>';
print_r($captureData);
echo '</pre>';