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


PHP How to display array value inside ternary operators

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

从这一行:

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

我得到这个输出:里斯克

这意味着该字段不为空,但是当我尝试显示数组值时,它什么也没显示

".($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>>

任何帮助表示赞赏

谢谢

$row["Risc"] =是一个错别字,它应该是$row["Risc"] ==

在第一种情况下,您将一个空字符串分配给$row["Risc"]然后,因为这将导致一个假值,但您正在用赋值覆盖原始值,因此您获得一个空字符串。

顺便说一句,也许更适合您检查一下

empty($row["Risc"])

阅读更多 关于 empty()

试试这个:

<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>