如何创建一个只包含if语句的php三元表达式

时间:2016-10-12 19:43:21

标签: php ternary

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

$vn = condition ? expression1 ;

这就是我想要实现的目标

if(condition) {
    $vn = expression1;
}

$vn = condition ? expression1 ;

3 个答案:

答案 0 :(得分:3)

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

$vn = condition ? expression1 : $vn ;

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

答案 1 :(得分:0)

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

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

$email = $_POST['email'] ?? 'none';

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

答案 2 :(得分:0)

(condition) AND ($vn = expression1);

也有效。

仅作为信息:

$v = condition?:expression1

也是可能的,这里condition(以及大小写)被解析为$v