【问题标题】:how to create a php ternary expression containing only if statement如何创建仅包含 if 语句的 php 三元表达式
【发布时间】:2016-10-12 19:43:20
【问题描述】:

如何创建一个只包含 if 语句而没有 else 部分的 php 三元表达式?这是我尝试过的:

$vn = condition ? expression1 ;

这就是我想要实现的目标

if(condition) {
    $vn = expression1;
}

$vn = condition ? expression1 ;

【问题讨论】:

    标签: php ternary


    【解决方案1】:

    您可以在 else 部分中使用相同的变量:

    $vn = condition ? expression1 : $vn ;
    

    请注意,如果之前未使用过 $vn,则会创建一个通知。

    【讨论】:

    • 您可以在else 部分使用@$vn 来阻止通知。
    • @Barmar 是的。但实际上你应该先初始化$vn。隐藏通知、警告和错误绝不是一个好主意。
    【解决方案2】:

    如果您使用的是 PHP 7,您可能需要考虑Null Coalescing Operator

    在某些情况下,语法类似于您正在寻找的内容:

    $email = $_POST['email'] ?? 'none';
    
    // is the same as:
    $email = isset($_POST['email']) ? $_POST['email'] : 'none';
    

    【讨论】:

      【解决方案3】:
      (condition) AND ($vn = expression1);
      

      也可以。

      仅作为信息:

      $v = condition?:expression1
      

      也可以,这里condition(以防万一)被解析为$v

      【讨论】:

        猜你喜欢
        • 2016-12-18
        • 2020-05-15
        • 2017-09-13
        • 1970-01-01
        • 2019-10-13
        • 2015-07-05
        • 1970-01-01
        • 1970-01-01
        • 2011-08-26
        相关资源
        最近更新 更多