【问题标题】:foreach loop conditional execution in phpphp中的foreach循环条件执行
【发布时间】:2021-01-27 16:00:54
【问题描述】:
<div class="col-lg-4 col-md-4">
     <div class="media-banner mb-3 mb-lg-0 banner-bottom">
        <a href="{!! URL::to('product-list/8/women') !!}"  class="banner-container">
        <img src="{{ asset('frontend/img/women.jpg') }}" alt="" class="img-fluid" >
        </a>
     </div>
     <div class="media-banner mb-3 mb-lg-0 banner-bottom">
        <a href="{!! URL::to('product-list/10/girls') !!}"  class="banner-container">
        <img src="{{ asset('frontend/img/girls.jpg') }}" alt="" class="img-fluid">
        </a>
     </div>
  </div>

  <div class="col-lg-4 col-md-4">
     <div class="media-banner mb-3 mb-lg-0">
        <a href="{!! URL::to('product-list/9/men') !!}"  class="banner-container">
        <img src="{{ asset('frontend/img/men.jpg') }}" alt="" class="img-fluid" >
        </a>
     </div>
  </div>

  <div class="col-lg-4 col-md-4">
     <div class="media-banner mb-3 mb-lg-0 banner-top">
        <a href="{!! URL::to('product-list/11/boys') !!}"  class="banner-container">
        <img src="{{ asset('frontend/img/boys.jpg') }}" alt="" class="img-fluid">
        </a>
     </div>
     <div class="media-banner mb-3 mb-lg-0 banner-top">
        <a href="{!! URL::to('product-list/12/hijab') !!}"  class="banner-container">
        <img src="{{ asset('frontend/img/b.jpg') }}" alt="" class="img-fluid">
        </a>
     </div>
  </div>

这是我需要制作动态的示例 HTML 对于前 2 项,只有第 3 项 col-MD-4 类有 col-MD-4 类,第 4 和第 5 项有另一个 col-MD-4 类

我试图解决这个问题,我的代码是

@php $slno = 1;  @endphp
  @foreach($categories as $n)
  @php $key = strtolower(preg_replace("/[^a-zA-Z0-9]+/", "-", $n->name)) @endphp
  @if($slno!=3)
   <div class="col-lg-4 col-md-4">
     <div class="media-banner mb-3 mb-lg-0 @if($slno == 1 || $slno == 2){{ 'banner-bottom' }} @elseif($slno == 3 || $slno == 4){{ 'banner-top' }}@endif">
        <a href="{!! URL::to('product-list/'.$n->id.'/'.$key) !!}"  class="banner-container">
        <img src="{{ asset('categories/'.$n->image) }}" alt="" class="img-fluid" >
        </a>
     </div>
  </div>
  @else
  <div class="col-lg-4 col-md-4">
     <div class="media-banner mb-3 mb-lg-0">
        <a href="{!! URL::to('product-list/'.$n->id.'/'.$key) !!}" class="banner-container">
        <img src="{{ asset('categories/'.$n->image) }}" alt="" class="img-fluid" >
        </a>
     </div>
  </div>
  @endif
  @php $slno++; @endphp
  @endforeach

但我肯定错了。

我需要帮助。 它实际上看起来像这样。

【问题讨论】:

  • 你试过桌子吗??得到这个设计?
  • 改变这种情况并尝试@if($slno!==3)
  • 每次都会调用带有 div 类的 col-md 4。

标签: php arrays laravel loops foreach


【解决方案1】:

此代码可能对您有所帮助,请像这样关注

for ($i=1; $i <= 5; $i++) { 
    echo $i;
    if($i == 1 || $i == 2){
      if($i == 1){
        echo "col-md-4";
      }
        echo "Bottom";echo "<br>";
        if($i == 2){
        echo "col-md-4 close tag";
      }
    }else if($i == 4 || $i == 5){
      if($i == 4){
        echo "col-md-4";
      }
        echo "Top";echo "<br>";
        if($i == 5){
        echo "col-md-4 close tag";
      }
    }else{
        echo "Center";echo "<br>";
    }
}

【讨论】:

  • 问题是带有 div 的 col md-4 类,每次执行时也会被调用
  • @Bittu 修改了上面的答案,如果有 5 个值就可以了。超过5个或动态需要另寻解决方案
【解决方案2】:

此代码可能有效

    //Enter your code here, enjoy!


   $de_chunked = [1, 2, 3, 4, 5, 6, 7, 8, 9 , 10 , 11 , 12, 13, 14];


 $d = array_chunk($de_chunked,3);


foreach($d as $k => $val)
{
  $i = 1;
   foreach($val as $ke => $vals)
   if($i++ == 3)
      {
        echo 'Yes   ';
      }else{
        echo "No   ";
      }

}

结果如下: 否 否 是 否 否 是 否 否 是 否 否 是 否 否

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-29
    • 2012-08-25
    • 1970-01-01
    • 2021-12-24
    • 1970-01-01
    • 2016-09-26
    • 2012-07-19
    • 2016-12-28
    相关资源
    最近更新 更多