【问题标题】:How to make php switch case check for type?如何使 php switch case 检查类型?
【发布时间】:2018-02-09 08:49:40
【问题描述】:

我希望使用 === 而不是 == 来检查 switch case。

<?php
$favcolor = "1";

switch ($favcolor) {
    case 1:
        echo "Your favorite color is red!";
        break;
    case "blue":
        echo "Your favorite color is blue!";
        break;
    case "1":
        echo "Your favorite color is green!";
        break;
    default:
        echo "Your favorite color is neither red, blue, nor green!";
}
?>

这给了我:

Your favorite color is red! 

但我希望它显示为绿色。这怎么可能?

【问题讨论】:

  • 来自manual:“请注意,switch/case 比较松散。

标签: php switch-statement identity equality


【解决方案1】:

来自https://secure.php.net/manual/en/control-structures.switch.php

请注意,switch/case 的比较比较松散。

您无法使用 switch 实现此目的,请考虑在这种情况下使用 if - elseif - else :

if ( $favcolor === 1 )
    echo "Your favorite color is red!";
elseif ( $favcolor === "blue" )
    echo "Your favorite color is blue!";
elseif ( $favcolor === "1" )
    echo "Your favorite color is green!";
else
    echo "Your favorite color is neither red, blue, nor green!";

【讨论】:

    猜你喜欢
    • 2021-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-17
    • 2020-05-08
    • 1970-01-01
    相关资源
    最近更新 更多