最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • 使用PHP开关语句

    正文概述 转载于:掘金(后端之巅)   2021-06-24   366

    在这篇文章中,我们将讨论php中switch语句的基础知识。除了开关语句的语法之外,我们还将通过几个真实的例子来演示如何使用它。

    切换语句的用途是什么?

    在PHP中,switch语句被认为是if-elseif-else语句的一种替代。很多时候,你想用不同的值来比较一个变量,并在此基础上想执行一段代码。你想到的第一件事就是实现一系列的if-elseif-else语句来实现它,如下面的片段所示。

    if ($favorite_site == 'Design') {
        echo "Your favorite site is design.tutsplus.com!";
    } elseif ($favorite_site == 'Code') {
        echo "Your favorite site is code.tutsplus.com!";
    } elseif ($favorite_site == 'Business') {
        echo "Your favorite site is business.tutsplus.com!";
    }
    

    如果只是两三个条件的问题,用if-elseif-else语句实现就可以了。但如果你需要处理几个条件,如果用if-elseif-else语句来实现,代码就会变得非常冗长,而且很难管理它。在这种情况下,使用switch语句是最理想的,而这正是switch语句的设计目的。

    在我们继续详细讨论switch语句之前,让我们先看看上面的例子在使用switch语句后是什么样子。

    switch ($favorite_site) {
        case 'Design':
            echo "Your favorite site is design.tutsplus.com!";
            break;
        case 'Code':
            echo "Your favorite site is code.tutsplus.com!";
            break;
        case 'Business':
            echo "Your favorite site is business.tutsplus.com!";
            break;
    }
    

    这看起来是不是更紧凑、更整齐?所以,当涉及到处理代码中的多个条件时,switch语句就显得非常方便了。

    语法和例子

    在本节中,我们将介绍switch语句的语法和几个真实的例子,以演示如何在日常的PHP开发中使用它。

    语法

    让我们来看看switch语句的语法。

    switch (expression)
    {
      case value1:
        // code to be executed if expression equals to value1
        break;
      case value2:
        // code to be executed if expression equals to value2
        break;
      case value3:
        // code to be executed if expression equals to value3
        break;
        ...
        ...
      default:
        // code to be executed if no cases are matched
    }
    

    它从switch语句中的表达式开始。首先,表达式被评估,表达式的结果被依次与所有的情况进行比较,直到有一个匹配。如果有匹配的,则执行与该特定案例相关的代码。如果没有匹配,并且有一个default 案例可用,它将执行该代码。

    重要的是,你一定不要忘记每个案例中的break 语句。如果一个案例被匹配,而该案例中没有break语句,那么下面所有案例的代码都会被执行,即使案例值不匹配。

    让我们通过下面的例子来了解break语句的重要性。

    <?php
    $favorite_site = 'Code';
    switch ($favorite_site) {
        case 'Design':
            echo "Your favorite site is design.tutsplus.com!";
            break;
        case 'Code':
            echo "Your favorite site is code.tutsplus.com!";
        case 'Business':
            echo "Your favorite site is business.tutsplus.com!";
            break;
    }
    ?>
    

    如果你认为它只会输出Your favorite site is code.tutsplus.com! ,那你就错了!它将输出: 。它将会输出。

    Your favorite site is code.tutsplus.com!
    Your favorite site is business.tutsplus.com!
    

    这是因为你在第二种情况下没有包含break 语句,因此,无论$favorite_site 变量的值如何,PHP都会执行下面所有情况的代码。所以当你在代码中使用switch语句时,_千万不要_忘记break 语句。

    最后,default 案例是可选的,不是必须提供。它的作用是提供默认代码,如果表达式的值与任何情况都不匹配,则执行该代码。

    以上就是关于switch语句的语法,我们将在下一节看到几个真实的例子。

    例子

    现在,你已经熟悉了switch语句的语法,而且在上一节中你已经看了几个基本的例子。在这一节中,我们将讨论开关语句的几个高级例子。

    同一代码块的多种情况

    让我们来看看下面的例子。

    <?php
    switch ($favorite_site)
    {
        case 'Design':
        case 'Code':
        case 'Business':
                echo "It's great to see that you love one of our tutsplus group of websites!";
                break;
        default:
                echo "You would like to explore tutsplus.com, we're sure you would love it!";
    }
    ?>
    

    有时你想在不同的情况下执行同一段代码。上面的例子证明了这一点。在上面的例子中,如果$favorite_site 变量的值是'Design''Code''Business' ,它将对这三种情况执行相同的代码,否则它将执行与默认情况相关的代码。

    开关语句中的表达式

    在我们到目前为止讨论的例子中,我们在switch语句中使用了一个变量。事实上,switch语句也允许你使用表达式。

    让我们看看如何在switch语句中使用表达式,如下面的例子所示。

    <?php
    switch (date("N", time()))
    {
        case 0:
            echo 'Sunday';
            break;
        case 1:
            echo 'Monday';
            break;
        case 2:
            echo 'Tuesday';
            break;
        case 3:
            echo 'Wednesday';
            break;
        case 4:
            echo 'Thursday';
            break;
        case 5:
            echo 'Friday';
            break;
        case 6:
            echo 'Saturday';
            break;
    }
    ?>
    

    首先,PHP评估switch语句中的表达式,并将该表达式的结果与所有的情况相匹配。在本例中,该语句输出当前的星期几。

    嵌套的开关语句

    最后,你还可以嵌套开关语句。让我们通过下面的例子来看看这是如何工作的。

    <?php
    switch( $type )
    {
        case "Courses":
            switch( $category )
            {
                case "Code":
                       echo "Visit https://code.tutsplus.com/courses!";
                    break;
                case "Web Design":
                       echo "Visit https://webdesign.tutsplus.com/courses!";
                    break;
            }
            break;
        case "Tutorials":
            switch( $category )
            {
                case "Code":
                    echo "Visit https://code.tutsplus.com/tutorials!";
                    break;
                case "Business":
                    echo "Visit https://business.tutsplus.com/tutorials!";
                    break;
            }
            break;
        case "Guides":
            switch( $category )
            {
                case "Code":
                    echo "Visit https://code.tutsplus.com/series!";
                    break;
                case "Business":
                    echo "Visit http://business.tutsplus.com/series!";
                    break;
            }
            break;  
    }
    ?>
    

    正如你所看到的,在另一个开关语句中使用一个开关语句是完全有效的。然而,你应该尽量避免这样做,因为它使你的代码更难阅读和维护。

    总结

    今天,我们讨论了如何在PHP中使用switch语句。这是一个非常有用的语言特性,它允许你简化冗长的if-elseif-else语句,并保持代码的清晰和可读。

    使用PHP开关语句使用PHP开关语句使用PHP开关语句


    起源地下载网 » 使用PHP开关语句

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元