条件开关的问题

sat*_*tya 6 php switch-statement

以下示例是http://php.net/manual/de/control-structures.switch.php中的一个例子.

<?php
$totaltime = 0;
switch ($totaltime) {

    case ($totaltime < 1):
        echo "That was fast!";
        break;

    case ($totaltime > 1):
        echo "Not fast!";
        break;

    case ($totaltime > 10):
        echo "That's slooooow";
        break;
}

?>
Run Code Online (Sandbox Code Playgroud)

我期待结果为"那很快".但实际结果是"不快!".如果有人可以解释我为什么会很好吗?

但是,如果我添加另一个案例,case 0: echo "That was super fast!".那么它正在回应正确.即"那太快了!".请帮我看看如何使用条件开关语句.

编辑:-

谢谢大家的回复.我能够通过modifyong开关($ totaltime)来切换上述问题来切换(1)

sjn*_*ngm 10

case ($totaltime < 1):表示1PHP(该等式返回true)

case ($totaltime > 1):表示0PHP(该等式返回false)

因为$totaltime是0,你得到那个输出

换句话说,PHP与比较$totaltime结果进行比较.

编辑OP中的EDIT:

你需要摆脱switch()-statement.您只能使用它轻松地与不同的值进行比较,而不使用其他表达式.

我是说有什么问题

<?php
$totaltime = 0;

if ($totaltime < 1) {
    echo "That was fast!";
} else if ($totaltime > 10) {
    echo "That's slooooow";
} else if ($totaltime > 1) {
    echo "Not fast!";
}

?>
Run Code Online (Sandbox Code Playgroud)

编辑:请注意我切换了最后两个if语句,使其真正起作用.