PHP的switch语句

最近我们往往避免使用 if 和 switch 进行条件判断,因为这样容易引入代码漏洞,但偶尔也会有一些情况下我们希望使用它们,比如写一些简单的代码时。
在 PHP 中,switch 语句进行的是宽松比较,有时可能会得到意料之外的结果。

参考:PHP 类型比较表

function switchTest($switchCase) {
    switch ($switchCase) {
        case 'ok':
            return 'ok';

        case 'ng':
            return 'ng';

        case true:
            return 'true';

        case false:
            return 'false';

        default:
            return 'default';
    }
}

var_dump(switchTest(true)); // ok
var_dump(switchTest(false)); // false
var_dump(switchTest('ng')); // ng
var_dump(switchTest(0)); // ok

嗯,我觉得最好不要使用太过草率的switch。

广告
将在 10 秒后关闭
bannerAds