【问题标题】:Shorthand or Dispatch switch-statement with function?具有功能的速记或调度开关语句?
【发布时间】:2018-02-11 15:19:08
【问题描述】:

有什么方法可以速记分派到一行代码?

$asd='http://asd.asd';
// $asd='asd@asd.asd';
// $asd='+123123';

switch ($asd){
    case strpos($asd, 'http')===0:
        $qwe='href';
        break;
    case strpos($asd, '@')>1:
        $qwe='mailto';
        break;
    case strpos($asd, '+')===0:
        $qwe='tel';
        $break;
}

【问题讨论】:

    标签: php if-statement optimization switch-statement shorthand


    【解决方案1】:
    <?php
    
       $asd = 'http://asd.asd';
       // $asd = 'asd@asd.asd';
       // $asd = '+123123';
    
       $qwe = (strpos($asd, 'http') === 0 ? 'href' : (strpos($asd, '@') > 1 ? 'mailto' : (strpos($asd, '+') === 0 ? 'tel' : '')));
    
       echo $qwe;
    ?>
    

    它不容易阅读,但您希望它是一行代码。它被称为三元运算符,您可以阅读更多关于它的信息here

    【讨论】:

    • 结果:ideone.com/W35QFP 这是由theme_mods 触发的#wordpress:&lt;?php echo properContact(wp_kses_post( get_theme_mod( 'feedback_name_1' )),wp_kses_post( get_theme_mod( 'feedback_url_1' ))); ?&gt;
    猜你喜欢
    • 1970-01-01
    • 2020-07-27
    • 1970-01-01
    • 2014-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-06
    • 1970-01-01
    相关资源
    最近更新 更多