PHP里switch case只做松散比较 – Bor Lee

PHP 里 switch case 只做松散比较

https://www.v2ex.com/t/398773
这种混搭使用 switch 的坑还不止一个,比如下面这段代码输出结果是 “ this is 2 ”

<?php

$string="2string";

switch($string)
{
    case 1:
        echo "this is 1";
        break;
    case 2:
        echo "this is 2";
        break;
    case '2string':
        echo "this is a string";
        break;
}
?>

switch case 只进行松散比较

php 的松散比较 “==” 在判断值之前会自动的进行类型转换,如果想连类型都判断的话就要用到严格比较 “===”

参见:
http://php.net/manual/zh/control-structures.switch.php
松散比较、严格比较参见:
http://php.net/manual/zh/types.comparisons.php#types.comparisions-loose

发表评论

电子邮件地址不会被公开。 必填项已用*标注