我有一个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"];
如果他们不匹配,我会指定一个&#34; 0&#34;什么的。
答案 0 :(得分:1)
你可以为for循环添加一个额外的条件,使它几乎不可读:
for ($i = 0; $i < count($ci), $ci[$i]["email"] === $pi[$i]["email"]; $i++)
但我宁愿break
循环:
for ($i = 0; $i < count($ci); $i++) {
if ($ci[$i]["email"] !== $pi[$i]["email"]) break;
$PIDvalue = ...
答案 1 :(得分:1)
您可以在for条件中添加,例如:
for ($i = 0; $i < count($ci) && $ci[$i]["email"] === $pi[$i]["email"]; $i++) {
当第二个条件计算为false时,循环将停止运行。