【发布时间】:2018-06-05 03:42:32
【问题描述】:
我尝试在 switch 中设置大小写值。根据这段代码,它应该是回显“你最喜欢的颜色是红色”,但事实并非如此。当我运行这段代码时,它会给出一个结果:
您最喜欢的颜色既不是红色、蓝色也不是绿色!但红色。
这是我的代码
<?php
$response = null;
switch ($msg) {
case "red":
echo "Your favorite color is red";
break;
case "blue":
echo "Your favorite color is blue!";
break;
case "green":
echo "Your favorite color is green!";
break;
default:
echo "Your favorite color is neither red, blue, nor green! but " . $msg . " colour.";
}
【问题讨论】:
-
然后检查你的 $msg 值; $msg 的问题,这就是为什么给你一个默认值。
-
我的 $msg 值为红色。我试图回应它。
-
$msg 是否有任何空白需要修剪?试试 echo $msg === 'red'
-
请使用
trim确保值($msg)与case中的值完全相同,并使用isset和empty进行验证。 -
请不要修改您的 OP 中的代码,因为它会使已给出的任何建议无效,而是编辑它并添加到您的帖子中。
标签: php switch-statement