如何使用foreach创建一个独特的类?

时间:2014-09-08 20:17:30

标签: php mysql codeigniter foreach

我很难用我的div在我的div中创建独特的类。到目前为止,这是我的代码:

  $show = 0;
    foreach($photo as $row){
        if($show==0){ ?>
            <figure class="<?php echo"show";?>">
                <img src="<?php echo base_url('images/photouploads/'.$row->file_name);?>" width="420" />
            </figure>
        <?php
        }
        ?>
    <figure>
      <img src="<?php echo base_url('images/photouploads/'.$row->file_name);?>" width="420" />
    </figure>
  <?php $show++; }?>

我想要这样:

<figure class="show">lorem ipsum</figure>
<figure>lorem ipsum</figure>

我们注意到只有一个类的值为 SHOW 。但现在我有一个节目但是我的第一张图片重复了两次。你们中的任何人都可以解决这个问题吗?我需要你的帮助。谢谢!

3 个答案:

答案 0 :(得分:2)

您可以通过使用三元运算符来实现上述目标并使用更少的代码解决您的问题。

$show = 0;
foreach($photo as $row){ ?>
    <figure class="<?php $show == 0 ? echo 'show' : '' ;?>"> //if $show equals 0, class="show" will display
        <img src="<?php echo base_url('images/photouploads/'.$row->file_name);?>" width="420" />
    </figure>
    <?php $show++; 
}?>

您的第一张图片显示两次,因为当$show为0时,您的图片会显示两次。这样可以解决这个问题。另一种选择是if / else,但这要短得多。

答案 1 :(得分:1)

如果您只有一个带有show class的项目,但没有重复的图像,只需简单地显示&#34;非显示&#34;参见else语句:

foreach($photo as $row){
    if($show==0)
        $class = 'show';
    else 
        $class = '';
    ?>
    <figure class="<?php echo $class; ?>">
        <img src="<?php echo base_url('images/photouploads/'.$row->file_name);?>" width="420" />
    </figure>
    <?php $show++; 
} ?>

答案 2 :(得分:0)

我想我现在得到了答案。

以下是代码:

<?php 
    $test='show';
    foreach($photo as $row){?>                         
    <figure class="<?php echo $test;?>">
      <img src="<?php echo base_url('images/photouploads/'.$row->file_name);?>" width="420" />
    </figure>
  <?php $test=''; }?>

感谢您努力回答我的问题,我很感激。