2017-08-16 96 views
0

我想在我的電子郵件正文中設置一條if語句,但我得到了這個錯誤。這是我的PHP代碼中正文消息的一部分:電子郵件PHP解析錯誤:語法錯誤,意外的';'

$body = <<<EOD 
<strong>Tipo contatto:</strong> $contacttype <br> 
EOD; 
$body .= $contacttype == "telefonopref" ? "<strong>Chiamatemi in questo orario:</strong>".$orariotel."<br>"; <!-- line with error --> 
$body.= <<<EOD 
    <strong>Contatto:</strong> $contatto <br> 
    <strong>Messaggio:</strong> $message <br> 
EOD; 

怎麼了?任何關於如何正確書寫的建議? 在此先感謝。

+4

您錯過了三元語句的第二部分 –

+2

您已經忘記了三元表達式的其他部分。 – Phylogenesis

回答

3

三元運算符的工作原理是這樣的:

$something = $condition ? 'this if true' : 'this if false'; 

你只需要添加: ''在行(分號之前)結束您else語句。

+1

有沒有這樣的事情,如*「內聯如果」*。 [ternary operator('?:')](http://php.net/manual/en/language.operators.comparison.php#language.operators.comparison.ternary)是一個操作符,['if'' a控制結構](http://php.net/manual/en/control-structures.if.php)。操作員和陳述是不同的概念,在程序中有不同的目的。他們不能互換。 – axiac

+0

感謝Stevish,完整的答案! – DFD

+0

@axiac謝謝,我想不出「三元」這個詞,我能想到的只有「第三元」,我知道這是不對的! – Stevish

2

? :缺少條件..

$body = <<<EOD 
<strong>Tipo contatto:</strong> $contacttype <br> 
EOD; 
$body .= $contacttype == "telefonopref" ? "<strong>Chiamatemi in questo orario:</strong>".$orariotel."<br>" : ""; 
$body.= <<<EOD 
    <strong>Contatto:</strong> $contatto <br> 
    <strong>Messaggio:</strong> $message <br> 
EOD; 
相關問題