PHP:切换代码

时间:2017-09-15 17:36:15

标签: php

PREAMBLE:$ state可以有3个可能的值:

  • 1)0(零,整数)
  • 2)'Set Level: 10 %'(字符串)
  • 3)'Set Level: 20 %' (字符串)

我有一个不能返回正确值的开关代码。

这是代码:

<?php

$state = 0;

switch ($state) {

            case 'Set Level: 10 %':

                $return = 1;

            break;

            case 'Set Level: 20 %':

                $return = 2;

            break;

            default:

                $return = 0;

            break;

        }

        echo 'return:';

        var_dump($return);

这就是小提琴:https://3v4l.org/IQ142

使用$state = 0,默认情况下会返回1而非0。我也尝试删除默认值并强加案例0:但没有变化。

谢谢

注意:$state也可以是字符串。为此,我需要检查字符串。

1 个答案:

答案 0 :(得分:5)

您无法将int与字符串进行比较。在将switch发送到{{1}}之前,请转换为字符串。这将为您提供正确的结果。

$state = 0;

switch((string)$state)
...