现在我有一个不断变化的数组,但是像这样:
Array ( [0] => 10000.00000000 [1] => 10001.00000000 [2] => 1000.00000000 )
我有数量可以说
10020.00000000
我如何循环处理此数组,使其在发现达到金额总和且无法获取更多值时停止。就像数组应该循环到[1]并将值记录为[0] + [1]一样,仅当从[0]减去值后,我们留下0,而[1]则留下9981。因此不需要第三个值,因为秒仍然不是0。感谢您的理解
查看更多
您可以使用foreach和求和遍历所有元素,还可以检查总和是否等于所需的值,然后使用break退出循环:
foreach
break
$arr = array(10000.00000000, 10001.00000000, 1000.00000000); $sum = 0; foreach($arr as $num) { $sum += $num; if($sum >= 10020.00000000) break; }
如何回显值的数量?
对于每次迭代?只是回声
$num
,这是每次迭代中的当前数字最好与不平等进行比较。对于浮点数,很有可能
$sum
永远不会完全等于目标值,因此循环将继续超过目标值。@DaCurse我想在中断之前回显数组中存在的对象数量
@DaCurse喜欢在这种情况下应该是2