我希望看到从1到10的阶乘输出。但是为此,我必须将打印代码“ echo”放入循环中。在循环外,它仅显示阶乘10。这是我的代码。帮助我了解为什么“ echo”在循环外无法正常工作。谢谢您。
$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";
循环期间的回显将在每次迭代期间输出每个值(这意味着旧数据将被新数据替换)。如果您在循环外部(下方)回显,它将仅显示上次迭代的值。为了解决当前的问题,您将需要将所有值捕获到数组中,然后以所需的任何方式打印出来。
您的原始代码
$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>';