开关盒无法正常工作

时间:2018-06-05 03:42:33

标签: php switch-statement

我尝试在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.";
}

1 个答案:

答案 0 :(得分:1)

要按照我的评论中的建议将其标记为已回答,您需要验证输入以确保没有空格丢失您的switch语句,为此您可以使用trim

另一个建议是在您的传入x上使用issetempty,以确保其被发送。您应该始终清理用户输入,因为有人可能会通过您的请求传递恶意数据。在您当前的实例中,它们不会造成持久的损害,但在处理大型项目时,验证和清理任何传入的数据极为重要。 绝不相信用户输入。