2016-12-21 32 views
-1

我有一个三元运算符,它将回显HTML标记的样式。我尝试擦除或添加括号,但仍然存在错误。三元运算符中的意外左括号PHP

foreach($result as $row) { 
    $us = $row['username']; 
    echo '<div id="msg_guest" style="'.($us != 'Admin' ? ($us != 'inTELLigence' ? 'float: right; background-color: #51b8c1':'float: left;')).'"><div id="usr" style="'.($us != 'Admin' ? ($us != 'inTELLigence'? 'background-color: #67d5de':'background-color: #e6898a')).'"><div id="user">'.$row['username']. '</div><div id="time">'.$row['time_now'].'</div></div><p id="msg"> '.$row['message'].'</p></div><br />'; 
} 
+0

这是如何突破的例子将逻辑分成不同的行和部分可以帮助您查看专业人士blem。用三元代码编写一行代码非常难以阅读。 – moopet

回答

1

你完全没有封闭条件下,近left;'))您的第一条语句,你真正需要left;') : '')

更换

echo '<div id="msg_guest" style="'.($us != 'Admin' ? ($us != 'inTELLigence' ? 'float: right; background-color: #51b8c1':'float: left;')).'"><div id="usr" style="'.($us != 'Admin' ? ($us != 'inTELLigence'? 'background-color: #67d5de':'background-color: #e6898a')).'"><div id="user">'.$row['username']. '</div><div id="time">'.$row['time_now'].'</div></div><p id="msg"> '.$row['message'].'</p></div><br />'; 

echo '<div id="msg_guest" style="'.($us != "Admin" ? ($us != "inTELLigence" ? "float: right; background-color: #51b8c1":"float: left;") : '').'"><div id="usr" style="'.($us != "Admin" ? ($us != "inTELLigence" ? "background-color: #67d5de":"background-color: #e6898a") : '').'"><div id="user">'.$row['username']. '</div><div id="time">'.$row['time_now'].'</div></div><p id="msg"> '.$row['message'].'</p></div><br />'; 
+0

哦,我明白了。对于父母的陈述,我没有别的/虚假的陈述。谢谢! – user5567987

+1

@ user5567987是的。如果您发现我的答案有帮助,请在我的答案上打勾 – Hassaan

1

您应该避免嵌套三元运算符,因为它可能会很快变得相当混乱。

然而,在这个例子中你的问题是因为你有一个父级三元语句的语法错误。他们没有其他的定义。

例如你需要结束它:

$trueBoolean ? 'true condition' : 'false condition'; 

尝试这样的事情。

foreach($result as $row) { 
    $us = $row['username']; 

    $html = ''; 
    if ($us != 'Admin') { 
     $html = $us != 'inTELLigence' ? 'float: right; background-color: #51b8c1' : 'float: left;'; 
    } 

    $html2 = ''; 
    if ($us != 'Admin') { 
     $html2 = $us != 'inTELLigence' ? 'background-color: #67d5de' : 'background-color: #e6898a'; 
    } 

    echo '<div id="msg_guest" style="'. $html .'"><div id="usr" style="'. $html2 .'"><div id="user">'.$row['username']. '</div><div id="time">'.$row['time_now'].'</div></div><p id="msg"> '.$row['message'].'</p></div><br />'; 
}