PHP Switch-Case无法使用某些字符串?

时间:2014-11-06 21:31:05

标签: php switch-statement

我正在尝试使用switch / case来处理一些变量并且它们无法正常工作,我想知道原因:

function convert_time($time_code) {
    switch ($time_code) {
        case "8:00a-10:00p":
            return 1;
            break;
    }
}

然后调用此函数的代码是:

$testvariable = "8:00a-10:00p";
$testtimecode = covert_time($testvariable);
echo "TTC: $testtimecode";

它总是输出“TTC:”

我去了PhpFiddle测试它并且它也没有在那里工作,但是我找不到像jsfiddle那样建立链接的方法。

但是,如果我执行此代码:

$time_code = "8:00a-10:00a";
if ($time_code == "8:00a-10:00a") {echo "yes";} else {echo "no";}

它会回答是的。

所以我的问题是,我8:00a-10:00a的格式是什么打破了转换?并且它是否可以修复。

2 个答案:

答案 0 :(得分:1)

没关系。 我发现了我的问题,这是一个错字。

它应该是8:00a-10:00a,它是8:00a-10:00p。

对不起!

答案 1 :(得分:1)

让这个在我的本地服务器上运行:

function convert_time($time_code) {
    switch ($time_code) {
        case "8:00a-10:00p": return 1;
    }
}

$testvariable = "8:00a-10:00p";
$testtimecode = convert_time($testvariable);
echo "TTC: $testtimecode";

不太确定你的结果会发生什么,可能是服务器本身出了问题,但是给它一个机会。