PHP reapet foreach,直到

its*_*sme 1 php foreach repeater

我通过foreach循环打印img html元素.

图像存储在db中,因此如果它们是40,则foreach将打印40 img

现在我需要它,如果它们在db中是40并且我需要打印100个img元素,重复循环直到它们是100,是否可以这样做?

编辑:

要清楚,我从db中检索40 img,我需要打印"100 OF THEM"(如果它们小于100则重复它们)...希望很明确:P

Gor*_*don 6

您可以使用迭代器:

$images = new LimitIterator(
    new InfiniteIterator(
        new ArrayIterator($imgArray)
    ), 
    0, 100
);

foreach ($images as $image) {
    // print images
}
Run Code Online (Sandbox Code Playgroud)

ArrayIterator让你的$imgArray其他迭代iterateable.该InfiniteIterator将使包裹ArrayIterator开始了在一开始的时候就已经达到结束$imgArray.最后,LimitIterator将迭代限制为100个项目.

所以,当你迭代时$images,foreach将遍历图像数组中的元素一遍又一遍地重复它们,直到打印出100个元素,例如,这将输出图像1-40,然后再输出1-40,最后输出1-20,因为40+ 40 + 20 = 100.

演示:http://codepad.org/YeDgpsVc