【问题标题】:Foreach echo without empty variable values没有空变量值的 foreach 回显
【发布时间】:2012-09-09 19:12:05
【问题描述】:

我想使用foreach 来回显所有图像路径,但是当变量为空时$bild_5 不应该显示任何HTML 代码。

我的代码:

<html>

<?php

// var
$url    = "http://www.URL/assets/";

$bild_1 = $url . "bild-1.jpg"; 
$bild_2 = $url . "bild-2.jpg"; 
$bild_3 = $url . "bild-3.jpg"; 
$bild_4 = $url . "bild-4.jpg"; 
$bild_5 = ""; 

// array
$bilder = array ("$bild_1", "$bild_2", "$bild_3", "$bild_4", "$bild_5");
?>

<ul>
    <!-- foreach / Template -->
    <?php foreach($bilder as $bild) { ?>    

        <li><img src="<?php echo $bild; ?>"</li>

    <?php } ?>
</ul>

</html>

HTML 输出

<html>

<ul>                
   <li><img src="http://www.URL/assets/bild-1.jpg"</li>
   <li><img src="http://www.URL/assets/bild-2.jpg"</li>
   <li><img src="http://www.URL/assets/bild-2.jpg"</li>
   <li><img src="http://www.URL/assets/bild-4.jpg"</li>
   <li><img src=""</li>    // Don´t display this HTML code; ( $bild_5 = ""; )
</ul>

</html>

感谢您的帮助
奥格尼

【问题讨论】:

    标签: arrays variables foreach var


    【解决方案1】:

    你可以使用continue跳过

    <?php foreach($bilder as $bild) { ?>   
           <?php if (empty($bild)) continue; ?> 
    
            <li><img src="<?php echo $bild; ?>"</li>
    
    <?php } ?>
    

    我还建议您在混合 PHP 和 HTML 时使用控制结构的替代语法。更容易阅读

    <?php foreach($bilder as $bild) : ?>    
    
            <li><img src="<?php echo $bild; ?>"</li>
    
    <?php endforeach; ?>
    

    参考 - http://php.net/manual/en/control-structures.alternative-syntax.php

    【讨论】:

      【解决方案2】:

      要么使用继续;如上所述,或者只是让 array_filter($bilder); 在你的 foreach 之前运行

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2022-01-18
        • 1970-01-01
        • 2019-04-05
        • 2019-01-23
        • 2018-08-09
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多