【发布时间】:2014-04-15 15:09:55
【问题描述】:
我有一个 for 循环,它遍历几个数组并在完成一些基本数学运算后分配一些值。我的问题是:有没有办法确保这个 for 循环只在附加条件为真时迭代?
for ($i = 0; $i < count($ci); $i++) {
$PIDvalue = $ci[$i]["PID"];
$datevalue = $pi[$i]["datetime"];
$pp_tcvalue = $ci[$i]["pp_tc"] - $pi[$i]["pp_tc"];
$pp_trvalue = $ci[$i]["pp_tr"] - $pi[$i]["pp_tr"];
$bp_tcvalue = $ci[$i]["bp_tc"] - $pi[$i]["bp_tc"];
$emailvalue = $ci[$i]["email"];
所以我想要这样的东西......
for ($i = 0; $i < count($ci); $i++) {
if($ci[$i]["email"] === $pi[$i]["email"]) {
$PIDvalue = $ci[$i]["PID"];
$datevalue = $pi[$i]["datetime"];
$pp_tcvalue = $ci[$i]["pp_tc"] - $pi[$i]["pp_tc"];
$pp_trvalue = $ci[$i]["pp_tr"] - $pi[$i]["pp_tr"];
$bp_tcvalue = $ci[$i]["bp_tc"] - $pi[$i]["bp_tc"];
$emailvalue = $ci[$i]["email"];
如果它们不匹配,我将分配一个值“0”或其他值。
【问题讨论】:
-
您当前的代码有什么问题,应该可以按预期工作
-
@user574632 如果后面的
}未关闭,则不会(不过可能只是一个问题错字......) -
@user574632 我遇到了一个问题 - 我的问题是用户注册并支付服务费用,然后他们取消了订阅(这很好),但他们仍然被计算在内并且一团糟向上 for 循环。我的问题可能是我的查询,但我不想重写它们,因为它们太详细了。我正在寻找一个可能的更好的解决方案。
-
@MackieeE 还有更多代码,我只是把不重要的东西留给了问题。
-
@ChaseC 当然,我的意思是你上面的代码有什么问题 - if 语句应该完全符合你的要求。如果不是我误解了你的问题
标签: php if-statement for-loop