如何过滤视图中的空字段?

时间:2012-09-22 14:42:14

标签: php javascript

我需要显示一个包含产品详细信息的页面。 e.g。

 <ul>
 <li>Product: <?php echo $product['Product']['name'] ?></li>
 <li>Features: <?php echo $product['Product']['Features'] ?></li>

等。 (可能是20-30个字段)

问题是每个产品可能有或没有空白字段,我只需要向用户显示不是空字段。

如何正确过滤结果以生成并仅显示

<li>

包含信息?

我看到了3种方法。

  1. 很多很多

    <?php if (!empty($product['Product']['name']) echo "<li>Product: ".$product['Product']['name']."</li>"?>
    
  2. 添加某种JS过滤(我不知道JS所以可能无法实现)
  3. 使用“li”字段描述

    向DB添加另一列
    (<li>Product:)
    

    然后以某种方式仅输出带有While循环的空字段......

2 个答案:

答案 0 :(得分:1)

试试这个:

    echo '<ul>';
    foreach($product['Product'] as $key => $value) {
        if ($product['Product'][$key] != '') {
            if ($key == 'Info') {
                echo '<li>Some text that describes information for a user: ' . $value . '</li>';
            }
            else {
                echo '<li>' . $key . ': ' . $value . '</li>';
            }
        }
    }
    echo '</ul>';

答案 1 :(得分:0)

我会考虑在辅助函数中包装选项1:

function printProductListItem($value)
{
    if (!empty($value) 
        echo "<li>Product: " . $value . "</li>";
}

并称之为:

printProductListItem($product['Product']['name']);