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