插入"元素"其他"元素"数组(循环)php

时间:2016-07-09 18:39:52

标签: php

我的代码会导致图片在页面中随机出现。 但是如何插入"元素" (在我的情况下,这将是一个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

3 个答案:

答案 0 :(得分: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" />';

 }

无论列表大小如何,这都会为您提供每三次迭代的内容部分。

答案 1 :(得分: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" />';
}

答案 2 :(得分: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" />';
}