PHP如何在三元运算符中显示数组值

时间:2016-02-29 12:14:54

标签: php arrays embed ternary-operator

我尝试在使用三元运算符时显示数组中的值,但它只显示一个空字段。

从这一行:

".($row["Risc"] = '' ? '' : "<li><i class='fa fa-check'></i> Risc</li>")."

我得到这个输出:Risc

表示该字段不为空,但当我尝试显示数组值时,它不显示任何内容

".($row["Risc"] = '' ? '' : "<li><i class='fa fa-check'></i> ". $row['Risc'] ."</li>")."`

Below the full code:

<div class='col-md-4 col-sm-4'>
  <ul>
  ".($row["Risc"] = '' ? '' : "<li><i class='fa fa-check'></i> Risc</li>")."
  ".($row["Cond"] = '' ? '' : "<li><i class='fa fa-check'> Cond</i> Condizioni</li>")."
    <li><i class='fa fa-check'></i> Balcony</li>
    <li><i class='fa fa-times'></i> Bedding</li>
    <li><i class='fa fa-check'></i> Cable TV</li>
    <li><i class='fa fa-times'></i> Cleaning after exit</li>
    <li><i class='fa fa-check'></i> Cofee pot</li>
    <li><i class='fa fa-check'></i> Computer</li>
    <li><i class='fa fa-times'></i> Cot</li>
  </ul>
</div>>

任何帮助表示赞赏

谢谢

2 个答案:

答案 0 :(得分:1)

$row["Risc"] =是一个拼写错误,应该是$row["Risc"] ==

在第一种情况下,您将空字符串分配给$row["Risc"],然后,因为这会导致错误值但是您使用作业覆盖原始值,所以您获得了回复一个空字符串。

或许,顺便说一句,你更适合检查这个

empty($row["Risc"])

详细了解empty()

答案 1 :(得分:0)

试试这个:

<div class='col-md-4 col-sm-4'>
  <ul>
  <?php 
  echo $row["Risc"] == ""? "" : "<li><i class='fa fa-check'> Cond</i>". $row["Risc"]."</li>" ;
  echo $row["Cond"] == ""? "" : "<li><i class='fa fa-check'> Cond</i>". $row["Cond"]."</li>" ;
          ?>
    <li><i class='fa fa-check'></i> Balcony</li>
    <li><i class='fa fa-times'></i> Bedding</li>
    <li><i class='fa fa-check'></i> Cable TV</li>
    <li><i class='fa fa-times'></i> Cleaning after exit</li>
    <li><i class='fa fa-check'></i> Cofee pot</li>
    <li><i class='fa fa-check'></i> Computer</li>
    <li><i class='fa fa-times'></i> Cot</li>
  </ul>
</div>