首页 > 解决方案 > 如何跳到 PHP 语句中的下一个“elseif”?

问题描述

如果您有类似下面的 if/else 语句,有没有办法检查第一个匹配项中的某些内容if并告诉它跳到下一个else/if,并多次执行此操作?

continue经过一番谷歌搜索后似乎很有希望,但没有奏效,所以也许这只是 for 循环

if ($teamscore > 100) {
    if ($somethingelse=$something) {
        //skip to the next "elseif"
    }
} elseif ($teamscore > 95) {
    if ($somethingelse=$something) {
        //skip to the next "elseif"
    }
} elseif ($teamscore > 90) {

} else {
}

标签: phpif-statement

解决方案


看起来你想要的有点像 a switch,但你不能在 each 中评估单独的表达式case,所以你不能用它来处理这样的不等式。我认为可以改用这种结构。

while (true) {
    if ($teamscore > 100) {
        // DO STUFF
        if ($somethingelse != $something) {
            break;
        }
    }
    if ($teamscore > 95) {
        // DO STUFF
        if ($somethingelse != $something) {
            break;
        }
    }
    if ($teamscore > 90) {
        // DO STUFF
        if ($somethingelse != $something) {
            break;
        }
    }
    break;
}

但是,如果// DO STUFF每个 if 块中的 if 是相同的事物,或者是符合模式的相同事物的变体,您可能可以使用循环来避免重复。

for ($score = 100; $score > 85; $score -= 5) {
    if ($teamscore > $score) {
        // DO STUFF
    }
    if ($somethingelse != $something) {
        break;
    }
}

推荐阅读