我在php脚本中使用这个echo语句,它工作正常
echo "<li class=\"ui-state-default\" id=ID_$this->id>$this->course_name <i class=\"fa fa-bars\" style=\"font-size:0.7em;color:#cccccc;float: right;\"></i> </li>";
现在我想将这个三元语句添加到li标签
中 (($benchmark>$thisUser)? style="color:red":"")
本质上是在IF条件下将颜色变为红色......现在这并没有产生任何代码....有没有人知道这应该如何适当地进入echo语句?感谢
答案 0 :(得分:1)
这不是一个有效的PHP语句:
style="color:red"
你可能想把整个事情变成一个字符串:
($benchmark>$thisUser) ? 'style="color:red"' : ''
答案 1 :(得分:1)
我不会将三元组放入echo语句中。只需使用变量......
$liStyle = ($benchmark>$thisUser) ? 'style="color:red"' : '';
echo "<li class=\"ui-state-default\" $liStyle id=ID_$this->id>$this->course_name <i class=\"fa fa-bars\" style=\"font-size:0.7em;color:#cccccc;float: right;\"></i> </li>";
答案 2 :(得分:1)
我建议你将代码剪切成块,以使其更具可读性(利用HTML处理多个空格和/或换行符就像一个独特的空格一样)。
此外,正如其他人所建议的那样,对于这种特殊情况,您最好将三元操作分开,但为了便于阅读。
$color = $benchmark->$thisUser ? '#cccccc' : 'red';
echo "
<li class='ui-state-default' id='ID_$this->id'>
$this->course_name
<i class='fa fa-bars' style='font-size:0.7em; float: right; color:$color;'></i>
</li>
";
如果在回声中包含三元运算,它也会起作用,但看起来不那么可读
echo "
<li class='ui-state-default' id='ID_$this->id'>
$this->course_name
<i class='fa fa-bars' style='font-size:0.7em; float: right; color:" . ($benchmark->$thisUser ? '#cccccc' : 'red') . ";'></i>
</li>
";
请注意,在这种情况下,您必须在括号之间包装三元运算,否则连接将中断。