【问题标题】:Can I use an if statement inside of a switch in php?我可以在 php 的 switch 中使用 if 语句吗?
【发布时间】:2015-02-26 04:58:35
【问题描述】:

这是我想做的:

我有一个名为 $user 的变量,其中的信息是从表单发布的。如果表单数据为空我想做一件事,如果表单数据只是逗号或符号我想做另一件事,如果表单数据正确我想做第三件事。我就是这样设置的,这样行吗?如果没有,我该怎么做才能让它发挥作用?

switch($user){
    case 1:
if(empty($user)){
echo "<h2>"."<strong>"."You entered NOTHING, PLEASE Re-Enter"."</strong>"."</h2>";
}
case 2:
if($user == ",") {
echo "<h2>"."<strong>"."You did not enter any valid names/abbreviations to search, PLEASE Re-Enter"."</strong>"."</h2>";
}
default:


    print "==========================================="."<br />";
    tester($company, $user);


print "==========================================="."<br />";
print "========The following were NOT found====="."<br />";
notFound($company, $user);

print "==========================================="."<br />";

}

现在它会自动默认。它可以运行,但我想整合两个限定符,我该怎么做?

【问题讨论】:

    标签: php forms if-statement switch-statement


    【解决方案1】:

    您需要将break 放在 switch 语句中每个 case 的末尾,否则会进入下一个 case。我还认为您可能对switch 的工作方式感到困惑。如果你打开 $user,case 匹配 $user 的值——所以你甚至不需要 if 语句。

    switch($user){
        case "":
            echo "<h2>"."<strong>"."You entered NOTHING, PLEASE Re-Enter"."</strong>"."</h2>";
            break;
        case ",":
            echo "<h2>"."<strong>"."You did not enter any valid names/abbreviations to search, PLEASE Re-Enter"."</strong>"."</h2>";
            break;
        default:
            print "==========================================="."<br />";
            tester($company, $user);
    
    
            print "==========================================="."<br />";
            print "========The following were NOT found====="."<br />";
            notFound($company, $user);
    
            print "==========================================="."<br />";
    }
    

    【讨论】:

    • 太棒了!这正是我想要的方式,非常感谢你
    • 还有一件事,如果输入了多个逗号,则默认为默认值,如何使任意数量的连续逗号具有相同的结果?
    • switch 并不是最好的方法——你将不得不研究正则表达式。要匹配逗号,您可以使用 preg_match("/,+/", $user)
    猜你喜欢
    • 2015-11-07
    • 1970-01-01
    • 2016-04-12
    • 1970-01-01
    • 1970-01-01
    • 2013-07-31
    • 2020-06-28
    • 2016-06-19
    • 2011-08-06
    相关资源
    最近更新 更多