我已經通過PHP手冊瞭解三元運營商,我發現很難理解。Php三元運營商,如果
如何將此三元運算符轉換爲if
陳述或編輯,以便它將執行下面的代碼。取而代之的echo
荷蘭國際集團我想要的代碼,這取決於使用是否已登錄在運行的方法,
echo 'User ' . ($openid->validate() ? $openid->identity . ' has ' : 'has not ') . 'logged in.';
我已經通過PHP手冊瞭解三元運營商,我發現很難理解。Php三元運營商,如果
如何將此三元運算符轉換爲if
陳述或編輯,以便它將執行下面的代碼。取而代之的echo
荷蘭國際集團我想要的代碼,這取決於使用是否已登錄在運行的方法,
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();
}
$value = true;
$value ? runFunction() : (echo "has not logged in");
推斷:
$openid->identity() ? loggedInFunction() : notLoggedInFunction();
這不是OP要求的。 – 2012-08-10 22:58:06
我沒有使用他的變量,就是這樣。 – wanovak 2012-08-10 22:59:48
對不起,沒關係。我沒有閱讀這部分'或編輯,所以它會做以下'。我雖然只是在尋找一個「如果」的聲明。 -1刪除。 :) – 2012-08-10 23:01:03
直接的翻譯是:
echo 'User ';
if($openid->validate()) {
echo $openid->identity . ' has ';
} else {
echo 'has not '
}
echo 'logged in.';
有,但是,更清潔的方式來寫代碼,做同樣的事情(看其他的答案)。
它不一定是(關於他真正想做的),它可能只是一個動態的方式來打印出用戶登錄或不登錄的標籤。 – Zar 2012-08-10 22:57:28
我拿了「代替回聲出我想代碼運行一個方法,而不是回聲用戶有/尚未登錄」意味着他想在每種情況下執行一些其他方法,而不是實際打印任何東西。不過,我可能會誤解。 – 2012-08-10 22:59:50
Thx。我認爲這是我正在尋找的。也thx to @Zar – 2012-08-10 23:01:07