基于示例from this page,我想将下面的if
语句转换为一个三元运算符。
使用if
语句的工作代码:
if (!empty($address['street2'])) echo $address['street2'].'<br />';
我不确定应该如何使用三元运算符编写此代码,以便仅当数组中存在street2
且不是空字符串时,echo
才能工作。
发布于 2009-10-01 21:30:55
这个
(condition) ? /* value to return if condition is true */
: /* value to return if condition is false */ ;
语法不是“速记if”运算符( ?
称为条件运算符),因为您不能以与执行代码相同的方式执行代码:
if (condition) {
/* condition is true, do something like echo */
}
else {
/* condition is false, do something else */
}
在您的示例中,在$address
不为空的情况下执行echo
语句。对于条件运算符,您不能以同样的方式执行此操作。但是,您可以对条件运算符的结果执行echo
操作:
echo empty($address['street2']) ? "Street2 is empty!" : $address['street2'];
这将显示“街道是空的!”如果为空,则显示street2地址。
发布于 2017-07-06 18:42:49
发布于 2018-10-16 22:32:23
你要找的是三元运算符,也就是Elvis运算符(google it :P)。
echo $address['street2'] ?: 'Empty';
它返回变量的值,如果变量为空,则返回默认值。
https://stackoverflow.com/questions/1506527
复制相似问题