zoukankan      html  css  js  c++  java
  • 详解php中switch你可能不知道的事

    switch的常规用法是传递一个参数然后逐一跟case对比;

    switch (variable) {
        case 'value':
            // code...
            break;
        
        default:
            // code...
            break;
    }

    在分支比较多的时候;switch要比if else if好用;比如;

    if('value'){
        // code...
    }else if('value2'){
        // code...
    }else if('value3'){
        // code...
    }else if('value4' || 'value5'){
        // code...
    }

    用switch来写的话就是这样的,可以传递true;每个case就相当于一个else if;

    switch ('value') {
        case 'value1':
            // code...
            break;
        case 'value2':
            // code...
            break;
        case 'value3':
            // code...
            break;
        case 'value4':
        case 'value5':
            // code...
            break;
    }

    但是需要注意的是switch是松比较;也就是说如下这段代码每个case都能满足;

    switch (123) {
        case 'string':
            // code...
            break;
        case 'string2':
            // code...
            break;
        case 'string3':
            // code...
            break;
    }

    解决这个问题的办法就是在传参的时候转为字符串string型;

    switch (strval(123)) {
        case 'string':
            // code...
            break;
        case 'string2':
            // code...
            break;
        case 'string3':
            // code...
            break;
    }

    白俊遥博客

  • 相关阅读:
    Codeforces 601B. Lipshitz Sequence(单调栈)
    C++11正则表达式初探
    Codeforces 1051 D.Bicolorings(DP)
    数据库规范——学习小记
    2016 NEERC, Moscow Subregional Contest K. Knights of the Old Republic(Kruskal思想)
    10.2路径
    10.1jihe
    8/9三角形
    8/9,集合的运算
    6.2收费
  • 原文地址:https://www.cnblogs.com/shuaibai123/p/5274196.html
Copyright © 2011-2022 走看看