【问题标题】:shorthand php if{} ELSE IF{} else{} [duplicate]速记 php if{} ELSE IF{} else{} [重复]
【发布时间】:2014-08-08 19:05:42
【问题描述】:

是否有可能为php编写一个简写if,ELSE IF,else语句。

if / else 很清楚,但是当我也想使用 elseif 时,是否有一种简写方式(除了 switch)?

if ($typeArray == 'date'){
    echo 'date';
} else if($typeArray == 'time'){
    echo 'time';
} else {
    echo 'text';
}

没有找到任何好的答案,其中有嵌套 if 语句的简写版本,包括 elseif。

你好,提米

【问题讨论】:

  • 使用 oop PHP 可以实现这一点,将每种情况视为方法名称。
  • 在保持理智的同时尽可能短。
  • 有三元运算符,他们提供这样的东西(我现在懒得写一个完整的答案):)
  • 建议您避免“堆叠”三元表达式。在单个语句中使用多个三元运算符时 PHP 的行为并不明显。来源:us2.php.net/manual/en/…
  • 你能展示一段代码来保证这样的速记吗?

标签: php shorthand shorthand-if


【解决方案1】:

你可以看到这个Ternary operator。当你有 if/else 时很好,但如果你做得更多,可读性会很差。

Alternative syntax。当您在同一代码中使用 html/php 时,此语法很有用。它可以帮助我们看到 if/foreach/while 的结束...

switch/case。最好的可能是发布一些代码,看看是否可以缩短。

【讨论】:

    【解决方案2】:

    您正在寻找ternary statements

    语法:

    $condition ? $value_if_true : $value_if_false
    

    嵌套三元语句的语法:

    $a ? $b : ( $c ? $d : ( $e ? $f : $g ) )
    

    只是一个警告,嵌套的三元语句很难阅读,所以建议使用非嵌套的三元语句。

    【讨论】:

    • 呃,永远不要推荐嵌套三元语句,这会使代码难以阅读
    • @BrandonWamoldt 它可能会让人难以阅读,但这是 OP 所要求的。
    • @jeroen 是的,但是就像下面的答案一样,很高兴提及为什么它不好用,所以编程新手不认为这是一个好习惯。
    • @BrandonWamoldt 这绝对是真的。
    • 嗯,是的,这突然看起来像个坏主意:D
    猜你喜欢
    • 2013-04-08
    • 2011-07-17
    • 2016-10-06
    • 2016-12-26
    • 2016-05-15
    • 2013-07-18
    • 1970-01-01
    • 1970-01-01
    • 2014-09-07
    相关资源
    最近更新 更多