php的三元运算符面试题,PHP 三元运算符(?:)

示例

可以将三元运算符视为内联if语句。它包括三个部分。在operator和两个结果。语法如下:

$value =  ?  : 

如果将operator评估为true,则将返回第一个块中的值(),否则将返回第二个块中的值()。由于我们要设置$value三元运算符的结果,因此它将存储返回的值。

例:

$action = empty($_POST['action']) ? 'default' : $_POST['action'];

$action'default'如果empty($_POST['action'])计算结果为true,则将包含字符串。否则它将包含的值$_POST['action']。

该表达式的(expr1) ? (expr2) : (expr3)计算结果expr2是否expr1为true,expr3如果expr1计算为false。

可以省略三元运算符的中间部分。如果计算结果为TRUE,则expr1 ?: expr3返回表达式,否则返回。通常被称为猫王运算符。expr1expr1expr3?:

这种行为类似于空合并运算符??,除了??需要左操作数是准确null而?:试图解决左操作数为布尔并检查它是否解析为布尔值false。

例:

function setWidth(int $width = 0){

$_SESSION["width"] = $width ?: getDefaultWidth();

}

在此示例中,setWidth接受width参数或默认值为0以更改width会话值。如果$width为0($width未提供if ),它将解析为布尔值false,getDefaultWidth()而是使用的值。getDefaultWidth()如果$width未解析为布尔值false,则不会调用该函数。

有关将变量转换为布尔值的更多信息,请参见类型。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值