我浏览了有关三元运算符的 PHP 手册,发现很难理解。
如何将此三元运算符转换为if
语句或编辑,以便它将执行以下代码。而不是echo
ing 我希望代码根据用户是否登录来运行方法,
echo 'User ' . ($openid->validate() ? $openid->identity . ' has ' : 'has not ') . 'logged in.';
我浏览了有关三元运算符的 PHP 手册,发现很难理解。
如何将此三元运算符转换为if
语句或编辑,以便它将执行以下代码。而不是echo
ing 我希望代码根据用户是否登录来运行方法,
echo 'User ' . ($openid->validate() ? $openid->identity . ' has ' : 'has not ') . 'logged in.';
您的代码实际上是:
if ($openid->validate()) {
$temp = $openid->identity . ' has ';
} else {
$temp = 'has not ';
}
echo 'User ' . $temp . 'logged in.';
听起来你想做的是:
if ($openid->validate()) {
handleLoggedInFunction();
} else {
handleNotLoggedInFunction();
}
直接翻译是:
echo 'User ';
if($openid->validate()) {
echo $openid->identity . ' has ';
} else {
echo 'has not '
}
echo 'logged in.';
但是,有更简洁的方法来编写执行相同操作的代码(查看其他答案)。
$value = true;
$value ? runFunction() : (echo "has not logged in");
外推:
$openid->identity() ? loggedInFunction() : notLoggedInFunction();