0

我浏览了有关三元运算符的 PHP 手册,发现很难理解。

如何将此三元运算符转换为if语句或编辑,以便它将执行以下代码。而不是echoing 我希望代码根据用户是否登录来运行方法,

echo 'User ' . ($openid->validate() ? $openid->identity . ' has ' : 'has not ') . 'logged in.';
4

3 回答 3

1

您的代码实际上是:

if ($openid->validate()) {
    $temp = $openid->identity . ' has ';
} else {
    $temp = 'has not ';
}

echo 'User ' . $temp . 'logged in.';

听起来你想做的是:

if ($openid->validate()) {
    handleLoggedInFunction();
} else {
    handleNotLoggedInFunction();
}
于 2012-08-10T22:51:55.117 回答
1

直接翻译是:

echo 'User ';

if($openid->validate()) {
   echo $openid->identity . ' has ';
} else {
   echo 'has not '
} 
echo 'logged in.'; 

但是,有更简洁的方法来编写执行相同操作的代码(查看其他答案)。

于 2012-08-10T22:53:02.410 回答
0
$value = true;
$value ? runFunction() : (echo "has not logged in");

外推:

$openid->identity() ? loggedInFunction() : notLoggedInFunction();
于 2012-08-10T22:50:43.623 回答