阶乘输出问题

问题描述 投票:0回答:1

我希望看到从1到10的阶乘输出。但是为此,我必须将打印代码“ echo”放入循环中。在循环外,它仅显示阶乘10。这是我的代码。帮助我了解为什么“ echo”在循环外无法正常工作。谢谢您。

here is picture of coding

$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";
php factorial
1个回答
0
投票

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

您的原始代码

$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>';
© www.soinside.com 2019 - 2024. All rights reserved.