正确的IF ElseIf条件的三元条件

时间:2011-03-27 07:36:05

标签: php

这是我的If Else声明

if(isset($row['content']) && strlen($row['content'])) {
  $content = $row['content'];
}
elseif(isset($row['description']) && strlen($row['description'])) {
  $content = $row['description'];
}

我尝试使用ternerary运算符创建条件并以错误结束:这是我的后期条件

$content = isset($row['content']) && strlen($row['content']) ? $row['content'] : isset($row['description']) && strlen($row['description']) ? $row['description'] : '';

什么是正确的陈述?

2 个答案:

答案 0 :(得分:3)

通过将条件更改为三元运算符,您的代码非常难以理解。 Anyhoo,以下工作没有错误。

$content =  (isset($row['content']) && strlen($row['content'])) 
        ? $row['content'] 
        : (isset($row['description']) && strlen($row['description']) 
            ? $row['description'] 
            : '');

将最后一个表达式包含在括号中,以便PHP不会尝试单独计算它。

答案 1 :(得分:2)

尝试将?:的第一个词和?:的最后一个词放在括号内。

$content = (isset($row['content']) && strlen($row['content'])) ? $row['content'] : ((isset($row['description']) && strlen($row['description'])) ? $row['description'] : '');