if 数组索引的条件

if condition for array index

foreach($results as $result) :
 $featured_image=wp_get_attachment_url(get_post_thumbnail_id($result->ID));?>
     <div class="col-sm-6">
        <a href="javascript:;">
          <figure>
            <img src="<?php echo $featured_image ?>">
              <figcaption>
                <h2><?php echo get_the_title($result->ID) ?></h2>
                 <p><?php echo get_the_content($result->ID) ?></p>
               </figcaption>
           </figure>
        </a>
    </div>
<?php endforeach;  ?>

我想在 col-6 div 中打印前 4 个结果 其余的在 col-4 中。 我正在尝试匹配 arrray

的索引
if($results $key < 3) :
 <div class="col-sm-6"></div>
else :
<div class="col-sm-4"><div>
endif;

有什么办法可以做到这一点

只要将数组索引传入循环,然后在输出时对照class名称进行校验,例如:

<?php
foreach($results as $i => $result) :
$featured_image=wp_get_attachment_url(get_post_thumbnail_id($result->ID));
?>
     <div class="col-sm-<?= ($i < 4) ? 6 : 4 ?>">
        <a href="javascript:;">
          <figure>
            <img src="<?php echo $featured_image ?>">
              <figcaption>
                <h2><?php echo get_the_title($result->ID) ?></h2>
                 <p><?php echo get_the_content($result->ID) ?></p>
               </figcaption>
           </figure>
        </a>
    </div>

<?php endforeach;  ?>