мой код заставляет изображения появляться случайным образом на странице. Но как вставить «элемент» (в моем случае будет div) между этими изображениями?
<?php $myImagesList = array ( 'image1.png', 'image2.png', 'image3.png', 'image4.png' ); shuffle ($myImagesList); for ($i=0; $i<4; $i++) { echo '<img src="/image/' . $myImagesList[$i] . '" width="200" height="140" border="0" />'; } ?>
Пример:
Исходный код отображает изображения следующим образом:
image3.png image4.png image2.png image1.png
Страница обновления F5
image2.png image1.png image4.png image3.png
Страница обновления F5
image4.png image2.png image3.png image1.png
Мне это нужно было так:
image2.png image1.png
содержание
image4.png image3.png
Страница обновления F5
image4.png image2.png
содержание
image1.png image3.png
Страница обновления F5
image2.png image3.png
содержание
image4.png image1.png
Если вы хотите добавить div
(контент) между этими двумя парами изображений – добавьте дополнительное условие в свой цикл:
... for ($i=0; $i<4; $i++) { if ($i == 1) echo '<div>some content ...</div>'; echo '<img src="/image/' . $myImagesList[$i] . '" width="200" height="140" border="0" />'; }
Вы хотели бы что-то вроде этого …
$myImagesList = array ( 'image1.png', 'image2.png', 'image3.png', 'image4.png' ); shuffle ($myImagesList); $i = 0; foreach ($myImagesList as $img) { $i++; if ($i % 3 === 0) { /* show content */ } echo '<img src="/image/' . $img . '" width="200" height="140" border="0" />'; }
Это даст вам раздел контента каждую третью итерацию, независимо от размера списка.
Пойдите с самым читаемым решением – тем, которое не заставит вас упасть и отлаживать позже, когда что-то меняет.
$splitAtNumber = 2; // or dynamically use count($myImagesList) / 2 or .... // output first part of the array for ($i = 0; $i < $splitAtNumber; $i++) { echo '<img src="/image/' . $myImagesList[$i] . '" width="200" height="140" border="0" />'; } // Output your content echo 'content'; // Output second part of the array for ($i = splitAtNumber; $i < count($myImagesList); $i++) { echo '<img src="/image/' . $myImagesList[$i] . '" width="200" height="140" border="0" />'; }