PHP – 限制和偏移 foreach 循环

问题描述 投票:0回答:2

我将向这个循环添加限制和偏移量:

<?php
$images = get_field('am_c_gallery');
if( $images ): ?>
        <?php foreach( $images as $image ): ?>
          <div class="item-big"></div>
        <?php endforeach; ?>
<?php endif; ?>

如何将像这样的偏移 1 和 5 图像添加到输出中的循环中:

   if first image:
   <div class="item-big"></div>
        
   if 2-5 images:
   <div class="item-small"></div>
   <div class="item-small"></div>
   <div class="item-small"></div>
   <div class="item-small"></div>
    
   if 5 - unlimited:
   <div class="item-hide"></div>
php foreach
2个回答
0
投票

用途:

for($index = 0; $index < count($images); $index++){
   $images[$index] // first element
}

foreach($images as $index => $value){
if (0 === $index) {
  //first element
}
// ...
//
}

知道第一个、第二个到第五个元素并用它来建立条件。

注意:要使用 foreach 循环,请确保数组的元素不是键/值元素,否则 $index 不是数字而是键的值


0
投票
<?php
$images = get_field('am_c_gallery');
if ($images) {
  $n = 0;
  foreach ($images as $image) {
    $n++;
    echo match (true) {
      ($n == 1) => '<div class="item-big"></div>',
      ($n <= 5) => '<div class="item-small"></div>',
      default => '<div class="item-hide"></div>',
    };
  }
}
© www.soinside.com 2019 - 2024. All rights reserved.