PHP如何获取while循环最后一次执行结果并存入变量
解决方法
不需要额外判断循环是否到最后一轮,只要在循环里用一个变量持续覆盖存储当前轮的结果,循环结束后这个变量里存的就是最后一次的执行结果。
修改后的代码如下:
<?php $x = 0; $r = rand(0,5); $d = 10 + $r; $h = 143; $counter = 0; $lastH = null; while ($h >= 0) { $lastH = $h; // 每次循环更新存储值为当前轮的$h echo "The number is: $h <br>"; $h -= $d; $counter++; } // 此时$lastH就是循环最后一次执行时输出的$h值 var_dump($lastH); ?>
补充说明
- 如果你要保存的是做完减法
$h -= $d之后的$h值,把$lastH = $h移动到减法语句后面即可。 - 这种写法不需要提前计算循环总次数、也不需要加条件判断当前轮次是不是最后一轮,代码更简洁,性能也更好。
内容的提问来源于stack exchange,提问作者TooFast
相关产品推荐
相关产品推荐

