应用后wrapping objects using math operator ,我只是以为一切都会结束。但不是。到目前为止。
<?php
$faces= array(
1 => '<div class="block">happy</div>',
2 => '<div class="block">sad</div>',
(sic)
21 => '<div class="block">angry</div>'
);
$i = 1;
foreach ($faces as $face) {
echo $face;
if ($i == 3) echo '<div class="block">This is and ad</div>';
if ($i % 3 == 0) {
echo "<br />"; // or some other wrapping thing
}
$i++;
}
?>
在代码中,我必须在第二个对象之后放置 and ad ,从而成为第三个对象。然后将这三个全部包裹在 <div class="row">
中(由于设计原因,之后的 br 无法解决)。我想我会回到应用开关,但如果有人在数组中放入更多开关可以正确包装的元素,则最后两个剩余元素将被公开包装。
我可以将“ad”添加到数组的第三个位置吗?这会让事情变得更简单,只让我猜测如何包装第一个和第三个,第四个和第六个,依此类推。
最佳答案
首先,插入广告:
array_splice($faces, 2, 0, array('<div class="block">this is an ad</div>'));
然后,应用包装:
foreach (array_chunk($faces, 3) as $chunk) {
foreach ($chunk as $face) {
echo $face;
}
echo '<br />';
}
关于php - 带有 "offset"包装的循环(while/foreach),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11270975/