Php 如何得到foreach循环的和?
我有一个foreach循环问题,我认为我的逻辑有问题。表中的数据将从付款金额中减去,如果付款金额为0,则将停止循环 PHP 5 这是我桌子上的数据Php 如何得到foreach循环的和?,php,Php,我有一个foreach循环问题,我认为我的逻辑有问题。表中的数据将从付款金额中减去,如果付款金额为0,则将停止循环 PHP 5 这是我桌子上的数据 2000 15000 3000 我总是得到这个输出 3000 -12000 -15000 这应该是正确的输出 -2000 -3000 我想你想要达到的是 $payment_amount_pay = 5000; foreach ($data as $value) { $amount = $value['AMOUNT']; If
2000
15000
3000
我总是得到这个输出
3000
-12000
-15000
这应该是正确的输出
-2000
-3000
我想你想要达到的是
$payment_amount_pay = 5000;
foreach ($data as $value) {
$amount = $value['AMOUNT'];
If ($payment_amount_pay -= amount > 0){
$payment_amount_pay = $payment_amount_pay - $amount;}
echo “-“.$amount;
}
2000年、15000年、3000年,我认为这一数额代表了美元价值[‘金额’]
如何成为-2000和-3000?我相信你希望它是这样的
$payment_amount_pay = 5000;
foreach ($data as $value) {
// Check if the amount already used up
if($payment_amount_pay < 0) {
break;
}
$amount = $value['AMOUNT'];
// Get the differences
$payment_amount_pay = $payment_amount_pay - $amount;
if($payment_amount_pay >= 0) {
// Changed to negative (not sure why you need it)
echo 0 - $amount."<br>";
}
else {
// Changed to negative (not sure why you need it)
echo 0 - $payment_amount_pay - $amount."<br>";
}
}
你能说清楚你想要什么吗?根据表条目和正在运行的代码,您编写的正确输出看起来不正确。你认为正确的输出应该是你写的吗?我认为这里需要更多的信息。例如,$value是否如您所示是单个值或集合。对于$value['AMOUNT']?仅从第一次迭代开始5000-2000=3000,-2000怎么可能是正确的?$payment\u AMOUNT\u pay=$payment\u AMOUNT\u pay-$value['AMOUNT'];减去付款金额后,输入$payment\u amount\u pay。所以,$payment\u amount\u pay value被覆盖;然而,您只是使用了原始数据$payment\u amount\u pay=$payment\u amount\u pay-$value['amount'];嗯,差不多吧,如果我有5000美元的话。该金额将在表格数据中减去。就像我上面所说的。你的错误是,你需要一个if语句,并检查付款金额减去表中的金额是否会高于或低于0:如果支票返回truehmmm,你应该只做减法。例如:如果我的表中有2000,15000,我有5000的付款,付款将在2000年减去,剩下的将是剩下的。嗨,答案是正确的,但我有澄清。你介意我澄清一下吗?当然可以。请随便问。
$payment_amount_pay = 5000;
foreach ($data as $value) {
$amount = $value['AMOUNT'];
$payment_amount_pay = $payment_amount_pay - $amount;
// first loop => 3000 = 5000 - 2000; 3000 will be $payment_amount_pay
// second loop => -12000 = 3000 - 15000; -12000 will be $payment_amount_pay
// third loop => -15000 = -12000 - 3000; -15000 will be $payment_amount_pay
echo $payment_amount_pay;
}
$payment_amount_pay = 5000;
foreach ($data as $value) {
// Check if the amount already used up
if($payment_amount_pay < 0) {
break;
}
$amount = $value['AMOUNT'];
// Get the differences
$payment_amount_pay = $payment_amount_pay - $amount;
if($payment_amount_pay >= 0) {
// Changed to negative (not sure why you need it)
echo 0 - $amount."<br>";
}
else {
// Changed to negative (not sure why you need it)
echo 0 - $payment_amount_pay - $amount."<br>";
}
}