【发布时间】:2016-10-12 19:43:20
【问题描述】:
如何创建一个只包含 if 语句而没有 else 部分的 php 三元表达式?这是我尝试过的:
$vn = condition ? expression1 ;
这就是我想要实现的目标
if(condition) {
$vn = expression1;
}
到
$vn = condition ? expression1 ;
【问题讨论】:
如何创建一个只包含 if 语句而没有 else 部分的 php 三元表达式?这是我尝试过的:
$vn = condition ? expression1 ;
这就是我想要实现的目标
if(condition) {
$vn = expression1;
}
到
$vn = condition ? expression1 ;
【问题讨论】:
您可以在 else 部分中使用相同的变量:
$vn = condition ? expression1 : $vn ;
请注意,如果之前未使用过 $vn,则会创建一个通知。
【讨论】:
else 部分使用@$vn 来阻止通知。
$vn。隐藏通知、警告和错误绝不是一个好主意。
如果您使用的是 PHP 7,您可能需要考虑Null Coalescing Operator。
在某些情况下,语法类似于您正在寻找的内容:
$email = $_POST['email'] ?? 'none';
// is the same as:
$email = isset($_POST['email']) ? $_POST['email'] : 'none';
【讨论】:
(condition) AND ($vn = expression1);
也可以。
仅作为信息:
$v = condition?:expression1
也可以,这里condition(以防万一)被解析为$v
【讨论】: