我在替换表行时遇到问题。
print '<tr '.if(childnum%2==0){.'bgcolor="#CCFFCC">'.} else {.'bgcolor="#990000">'};
这会导致以下错误:“Syntax Error, unexpected T_IF in /home/ on line [...]
”
答案 0 :(得分:4)
print '<tr '.(($childnum % 2 == 0) ? 'bgcolor="#CCFFCC">' : 'bgcolor="#990000">');
更好
可能childnum%2
应为$childnum % 2
答案 1 :(得分:1)
不要以这种方式编写代码,几周后你就不会理解它了,不管怎样,TRUST ME
if($childnum%2==0){
$mybgcolor = '#CCFFCC';
} else {
$mybgcolor = '#990000';
}
print '<tr bgcolor="'.$mybgcolor.'">';
更简单易读
答案 2 :(得分:0)
在发出print语句之前,尝试使用if/else
逻辑将字符串变量设置为所需的背景颜色。然后,在打印时将该变量包含为bgcolor
值。
答案 3 :(得分:0)
if ($childnum % 2 == 0) {
$color = '#CCFFCC';
} else {
$color = '#990000';
}
print '<tr bgcolor="'.$color.'">';
不要混合条件语句(如if
)和语言结构(如print
)或函数。
并牢记可读性。请记住:您必须维护该代码。
答案 4 :(得分:0)
请改为尝试:
$tr = '';
if(($childnum % 2) == 0) $tr = '<tr bgcolor="#CCFFCC">';
else $tr = '<tr bgcolor="#990000">';
print $tr;
我通常采取的解决问题的方法是: