【问题标题】:How can i echo only once inside a foreach loop PHP我怎样才能在foreach循环PHP中只回显一次
【发布时间】:2014-12-27 05:29:08
【问题描述】:

我想知道如何在 PHP foreach 循环中只回显一次?这是我的代码:

foreach(range(1, $numDays) as $number):
    $counter++;
    echo $number;

    if($counter < 8){
        //echo only once bellow
        echo "<div>header</div>";
        //echo only once above          

        echo "hello";

        //echo only once below
        echo "<div>footer</div>";
        //echo only once above          
    }   
endforeach;

基本上“//echo only once”中的内容是我只想在循环小于数字 8 时回显一次。我该怎么做?

【问题讨论】:

  • 使用break 声明...?
  • 如果要回显一次,则将其退出循环,将header放在foreach之前,将footer放在循环之后

标签: php foreach


【解决方案1】:

如果我正确理解了这个问题,为什么不将不需要迭代的部分拉到循环之外呢?

//echo only once bellow
    echo "<div>header</div>";
//echo only once above           

foreach(range(1, $numDays) as $number):
    $counter++;
    echo $number;
    if($counter < 8){
        echo "hello";
    } 
endforeach;

//echo only once below
    echo "<div>footer</div>";
//echo only once above 

【讨论】:

    【解决方案2】:

    如果我的问题正确,你希望只回显页眉和页脚一次
    为其使用标志变量

    foreach(range(1, $numDays) as $number):
          $counter++;
          echo $number;
          $flag=1;
    
          if($counter < 8){
               //echo only once bellow
               if($flag == 1)
                     echo "<div>header</div>";
               //echo only once above           
    
    
               echo "hello";
    
    
               //echo only once below
               if($flag == 1)
               {
                    echo "<div>footer</div>";
                   // Since you are done printing change the flag back to '0'
                   $flag = 0;
               }
               //echo only once above           
          } 
      endforeach;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-09-27
      • 1970-01-01
      • 1970-01-01
      • 2011-01-16
      • 2021-07-26
      • 2013-08-18
      • 1970-01-01
      相关资源
      最近更新 更多