This question already has answers here:
Reference — What does this symbol mean in PHP?

(20个答案)


已关闭6年。




这行中的?:是什么意思?
$_COOKIE['user'] ?: getusername($_COOKIE['user']);

谢谢你。

最佳答案

它是if语句的简写。

$username = $_COOKIE['user'] ?: getusername($_COOKIE['user']);

是相同的

if( $_COOKIE['user'] )
{
    $username = $_COOKIE['user'];
}
else
{
    $username = getusername($_COOKIE['user']);
}

在此处查看测试套件:https://3v4l.org/6XMc4

但是在此示例中,函数'getusername'可能无法正常工作,因为仅当else$_COOKIE['user']时,它才会击中empty。因此,getusername()内的参数也为空。

关于php - PHP-问号冒号运算符的含义,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23752980/

10-14 13:00
查看更多