1
switch ($i) {
    case NULL:
        echo "It is NULL";
        break;
    case 0:
        echo "It is zero";
        break;
}

如果我将 $i 设置为 NULl 或 0,则 switch 语句会将其评估为 NULL。交换机是否还没有准备好处理与此等效的问题:

if ($i === NULL) {
    echo 'This is NULL';
}
if ($i == 0) {
    echo 'This is Zero';
}

如果是这样,我是否应该假设我必须有一个 IF 循环而不是 SWITCH?

4

1 回答 1

2

我还建议将您的开关输入变量转换为您可以期望的东西,例如 (int) 或 (string),以确保您正确验证案例。

于 2013-07-15T20:30:13.947 回答