PHP foreach loop x times и добавить placeholder

Я использую foreach для прокрутки изображения. Максимально четыре изображения и минимум 1 изображение. Например, если есть два изображения (= две петли), я хочу сказать, что для него требуется повторить цикл два раза и повторить некоторые снимки-заполнители.

Heres my foreach:

<?php foreach($users as $k => $v) {?> <img src="/images/user_<?php echo $k; ?>.jpg" alt="" title="" /> <?php } ?> 

Выходы (две петли):

 <img src="/images/user_0.jpg" alt="" title="" /> <img src="/images/user_1.jpg" alt="" title="" /> 

но новый скрипт должен выводить:

 <img src="/images/user_0.jpg" alt="" title="" /> <img src="/images/user_1.jpg" alt="" title="" /> <img src="/images/user_placeholder.jpg" alt="" title="" /> <img src="/images/user_placeholder.jpg" alt="" title="" /> 

не забывайте, что возможно, что $ пользователи могут иметь x записей (0-4)

Используйте array_fill чтобы заполнить массив с таким количеством элементов, сколько необходимо (поскольку все они будут идентичными), а затем распечатать их.

 <?php foreach($users as $k => $v) {?> <img src="/images/user_<?php echo $k; ?>.jpg" alt="" title="" /> <?php } ?> <?php echo implode('', array_fill(0, count($users), 'placeholder image HTML')); 

Конечно, вместо этой cuteness вы также можете использовать другой foreach который печатает placeholder image HTML foreach placeholder image HTML на каждой итерации.

Обновление: выясняется, что есть еще лучший метод:

 echo str_repeat('placeholder image HTML', count($users)); 

PHP действительно имеет слишком много функций для запоминания. 🙂

Используйте счетчик …

 <?php $counter = 0; foreach($users as $k => $v) {?> <img src="/images/user_<?php echo $k; ?>.jpg" alt="" title="" /> <?php $counter++; } while{$counter < 4) {?> <img src="/images/user_placeholder.jpg" alt="" title="" /> <?php } ?> 

это должно работать

 $count = 1; foreach($users as $k => $v) { ?> <img src="/images/user_<?php echo $k; ?>.jpg" alt="" title="" /> <?php $count++; } for ($i = $count; $i <= 4; $i++) { ?> <img src="/images/user_placeholder.jpg" alt="" title="" /> <?php } ?> 
 <?php $placeholders = array(); foreach($users as $k => $v) {?> <img src="/images/user_<?php echo $k; ?>.jpg" alt="" title="" /> <?php $placeholders[] = '<img src="/images/user_placeholder.jpg" alt="" title="" />'; } foreach ($placeholders as $placeholder){ echo $placeholder; } ?> 

Как вы можете видеть, существует дюжина способов скинуть этот конкретный кот.