Php 停止进程的一个if语句
我对一些if语句有问题。长话短说,当某个语句为true时,代码将停止,而不会转到下一个循环/if语句系列 这是第一句话,一旦达到,就不会继续Php 停止进程的一个if语句,php,mysql,Php,Mysql,我对一些if语句有问题。长话短说,当某个语句为true时,代码将停止,而不会转到下一个循环/if语句系列 这是第一句话,一旦达到,就不会继续 else if ((($pteam_score[$i] == $popposition_score[$i]) && ($pteam_score[$i] != 0) && ($popposition_score[$i] != 0))) { $team_points[$i]-=2; $opposition_points
else if ((($pteam_score[$i] == $popposition_score[$i]) && ($pteam_score[$i] != 0) && ($popposition_score[$i] != 0))) {
$team_points[$i]-=2;
$opposition_points[$i]-=2;
$team_win[$i]-=0;
$team_draw[$i]-=1;
$team_loss[$i]-=0;
$team_extra[$i]-=0;
$opp_win[$i]-=0;
$opp_draw[$i]-=1;
$opp_loss[$i]-=0;
$opp_extra[$i]-=0;
$played[$i]-=1;
echo "hey";
$query9=$database->query("UPDATE results_a SET team_name='$team[$i]', team_score='$pteam_score[$i]',
opposition_score='$popposition_score[$i]', opposition_name='$opposition[$i]' where fixture_id='$fixture_id'");
}
这是第二个。请记住,这些ifs/else-ifs/中大约有20个,当其他任何一个被命中时,这些点都会被删除(就像它们在两个坏循环中一样),但似乎没有转移到代码的单独部分。也许巧合的是,两个坏循环都涉及一个绘制结果
else if ((($pteam_score[$i] == $popposition_score[$i]) && ($pteam_score[$i] != 0) && ($popposition_score[$i] != 0))) {
$team_points[$i]-=2;
$opposition_points[$i]-=2;
$team_win[$i]-=0;
$team_draw[$i]-=1;
$team_loss[$i]-=0;
$team_extra[$i]-=0;
$opp_win[$i]-=0;
$opp_draw[$i]-=1;
$opp_loss[$i]-=0;
$opp_extra[$i]-=0;
$played[$i]-=1;
echo "what?";
$query9=$database->query("UPDATE results_a SET team_name='$team[$i]', team_score='$pteam_score[$i]',
opposition_score='$popposition_score[$i]', opposition_name='$opposition[$i]' where fixture_id='$fixture_id'");
}
有人能看出代码会因为上述两条语句而停止运行的原因吗?echo只是看看哪个选项被点击了。正如我所说的,这两个循环在正确的时间被命中,但它们似乎是唯一停止这个过程的两个循环
编辑-工作正常的部分
if (($team_score[$i] == $pteam_score[$i]) && ($opposition_score[$i] == $popposition_score[$i])) {
$team_points[$i]+=0;
$opposition_points[$i]+=0;
$team_win[$i]+=0;
$team_draw[$i]+=0;
$team_loss[$i]+=0;
$team_extra[$i]+=0;
$opp_win[$i]+=0;
$opp_draw[$i]+=0;
$opp_loss[$i]+=0;
$opp_extra[$i]+=0;
$played[$i]+=0;
echo "0";
$query11=$database->query("UPDATE results_a SET team_name='$team[$i]', team_score='$pteam_score[$i]',
opposition_score='$popposition_score[$i]', opposition_name='$opposition[$i]' where fixture_id='$fixture_id'");
}
else if (($pteam_score[$i] == 0) && ($popposition_score[$i] == 0)) {
$team_points[$i]+=0;
$opposition_points[$i]+=0;
$team_win[$i]+=0;
$team_draw[$i]+=0;
$team_loss[$i]+=0;
$team_extra[$i]+=0;
$opp_win[$i]+=0;
$opp_draw[$i]+=0;
$opp_loss[$i]+=0;
$opp_extra[$i]+=0;
$played[$i]+=0;
echo "bla";
}
if (($pteam_score[$i] != $team_score[$i]) && ($popposition_score[$i] == $opposition_score[$i])) {
if (($pteam_score[$i] > $popposition_score[$i]) && ($pteam_bonus[$i] > $popposition_score[$i])) {
$team_points[$i]-=3;
$opposition_points[$i]-=0;
$team_win[$i]-=1;
$team_draw[$i]-=0;
$team_loss[$i]-=0;
$team_extra[$i]-=0;
$opp_win[$i]-=0;
$opp_draw[$i]-=0;
$opp_loss[$i]-=1;
$opp_extra[$i]-=0;
$played[$i]-=1;
echo "6";
$query5=$database->query("UPDATE results_a SET team_name='$team[$i]', team_score='$pteam_score[$i]',
opposition_score='$popposition_score[$i]', opposition_name='$opposition[$i]' where fixture_id='$fixture_id'");
}
提前谢谢我会穿上我的精神衣服,谢谢。我假设
$I
在其他地方增加了?是的,但一旦这个选项是真的,下一段代码就不会运行了考虑到缺乏细节,你可能至少要添加一段代码来比较。第一段和第二段的条件相同;与else
组合后,将不会调用第二个。但我想这是因为代码片段。重新构造代码,简化可能会有所帮助。还有一个强制性的指针,指向更好地使用准备好的语句。