隐藏CodeIgniter中的空数组值

时间:2016-02-10 09:55:22

标签: php arrays codeigniter

我在PHP(codeigniter框架)中有一个循环,它使用数组($products)来显示产品数据。并非阵列中的所有产品都具有值。

无论如何,如果数组中不存在这些值,我可以隐藏调用以显示这些值。

以下循环的完整代码;

<!-- Product item row -->    
    <?php foreach($products as $product): ?>  
    <div class="row product-list-row">
    <div class="col-md-2 item-img-container" align="center">
    <img class="img-responsive item-img" src="http://products.supercompare.co.uk<?= $product['logo']?>" alt="<?= $product['name']?> - supacompare.co.uk" width="190px" height="120px" /><br />
    <!--<a role="button" data-toggle="collapse" href="#item-terms" aria-expanded="false" aria-controls="item-terms">LESS DETAILS &#9660</a>-->
    </div>

    <div class="col-md-7 item-text">
    <h3><?= $product['name']?></h3>

    <div class="content-wrapper">
    <div class="content-1">
    <p><strong><?= $product['custom_fields'][0]['field']?></strong>
    <br /><?= $product['custom_fields'][0]['value']?></p>
    </div>  
    <div class="content-2">
    <p><strong><?= $product['custom_fields'][1]['field']?></strong>
    <br /><?= $product['custom_fields'][1]['value']?></p>
    </div>
    <div class="content-3">
    <p><strong><?= $product['custom_fields'][2]['field']?></strong>
    <br /><?= $product['custom_fields'][2]['value']?></p>
    </div>
    <div class="content-4">
    <p><strong><?= $product['custom_fields'][3]['field']?></strong>
    <br /><?= $product['custom_fields'][3]['value']?></p>
    </div>
   <div class="content-bottom">
    <p><?= $product['footer_text']?></p>  
    </div>
    </div>

    </div>

    <div class="col-cta"><a class="apply-btn" href="<?= $product['tracking_link']?>" target="_blank">SEE DEAL &raquo;</a></div>

    <!--<div class="clearfix"></div>-->
    <!--<div id="item-terms" class="col-md-12 footer-terms" style="background-color:#B4B4B4; padding:10px; margin-top:10px;"><?= $product['footer_text']?></div>-->

    </div>
    <?php endforeach; ?>   

3 个答案:

答案 0 :(得分:1)

您可以通过!empty检查数组是否为空来执行此操作。

if(!empty($product['custom_fields'][0]['value'])){
//your code
}

根据你的代码。

<?php if(!empty($product['custom_fields'][0]['value'])){ ?>
    <div class="content-1">
        <p><strong><?= $product['custom_fields'][0]['field']?></strong>
        <br /><?= $product['custom_fields'][0]['value']?></p>
    </div> 
<?php } ?>

答案 1 :(得分:0)

这是一个例子:

<?php
if(isset($product['custom_fields'][0]['value']) && $product['custom_fields'][0]['value'] !=""){
//your code
}
?>

答案 2 :(得分:0)

foreach ($products as $product) {
    foreach ($product['custom_fields'] as $value) {
        if (!$value) {
            continue 2;
        }
    }
    //your code here!!!
}