如果ELSE STATEMENT跨越样式PHP

时间:2013-07-30 00:24:21

标签: php if-statement

嗨,我正在根据它的值更改表格中文字的颜色......如果值是“已发布”,那么如果它“取消”它的颜色为红色则为蓝色......

我已经能够使用if语句实现它:

<td><span style="<?php if($value['posted'] == 'posted')echo 'color:blue'?>"><?php echo $value['posted']; ?></span></td>

当我为取消添加ELSE IF时,我发现它应该是这样的;

<td><span style="<?php 
if($value['posted'] == 'posted')
{
echo 'color:blue'
} 
else if($value['posted'] == 'cancel')
{
   echo 'color:red'
}
?>">
<?php echo $value['posted']; ?></span></td>

但它是SYNTAX ERROR UnEXPECTED}

我知道这只是一个简单的if if语句,但我无法做到正确。请帮忙......

2 个答案:

答案 0 :(得分:6)

您需要在echo之后使用分号:

if($value['posted'] == 'posted')
{
   echo 'color:blue';//<-- right here
} 
else if($value['posted'] == 'cancel')
{
   echo 'color:red';//<-- right here
}

答案 1 :(得分:3)

最有效(尽管有点复杂)的方法是使用PHP短标签中的三元组:

<td><span style="<?= $value['posted'] == 'posted' ? 'color: blue' : ($value['posted'] == 'cancel' ? 'color: red' : '') ?>">
    <?= $value['posted'] ?></span></td>