2016-07-09 181 views
-2

我的代碼導致圖像在頁面中隨機出現。 但是如何在這些圖像之間插入「元素」(在我的情況下是div)?將「元素」插入數組的其他「元素」(循環)php

<?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

content

image4.png image1.png

+1

如果您只想顯示兩個,爲什麼'$ i <4'?顯示兩個,然後再次啓動循環,或者檢查$ i是否爲2並顯示您的額外內容。 – rjdown

回答

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" />'; 

} 

這會給你的內容每節第三次迭代,不管列表的大小。

0

如果你想這兩個圖像對之間添加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" />'; 
} 
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" />'; 
}