Предполагая, что $imgArray
является массивом, а не ассоциативным массивом (то есть он имеет числовые индексы), это то, что вы хотите:
<?php foreach($imgArray as $idx => $row): ?>
<?php if($idx % 3 == 2): ?>
<div class="img_grid_3"><?php echo $row; ?></div>
<?php else: ?>
<div class="img_grid"><?php echo $row; ?></div>
<?php endif; ?>
<?php endforeach; ?>
Вы можете немного сжать его так:
<?php foreach($imgArray as $idx => $row):
if($idx % 3 == 2) {
$css_class = 'img_grid_3';
} else {
$css_class = 'img_grid';
}
?>
<div class="<?php echo $css_class; ?>"><?php echo $row; ?></div>
<?php endforeach; ?>
Или даже больше (некоторые люди просто использовали бы троичную условную строку в HTML), но закон убывающей отдачи в конечном счете вступает в действие в отношении читабельности.Надеюсь, что это дает вам правильную идею.