2011-05-22 17 views
2

我想顯示一個用戶的名字,如果他們給我們一個,否則他們的電子郵件。 下面的代碼的功能,但我不喜歡它如何需要這麼多的線,我依稀記得可能用OR做這個的方式? 我有(基本上):必須有更好的方法(PHP,字符串)

if ($firstname == "") 
{ 
$name = $email; 
}else{ 
$name = $firstname; 
} 
echo $name; 

回答

2

較短版本(PHP 5)

echo ($firstname ? : $email); 
+0

這就是你在PHP 5.3.4中運行代碼時得到的結果:「解析錯誤:語法錯誤,意外的$結束,e xpecting','或';'在...「 – rzetterberg 2011-05-22 09:22:59

+0

奇怪,這裏5.3.3它的工作 – MeLight 2011-05-22 09:29:37

+0

我認爲你需要圍繞$ firstname括號。否則,它運作得很好,絕對是最簡潔的。 – mazlix 2011-05-22 09:37:41

5
echo ($firstname) ? $firstname : $email; 
2

這是一種不常見的,但有時是有用的構建體(如替代?:語法):

$name = $firstname OR $name = $email; 
+0

謝謝!我對OR語句的語法非常好奇(在發佈之前,我嘗試過:$ name = $ firstname或$ lastname,但是這不起作用) – mazlix 2011-05-22 09:41:17

+0

+1用於教授新的東西:) – MeLight 2011-05-22 09:47:53

相關問題