php - 带有 "offset"包装的循环(while/foreach)

标签 php arrays loops foreach while-loop

应用后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/

相关文章:

php - 映射 - Symfony2 中的 Mongodb 嵌入式文档

php - 同时向多个用户广播通知 - PHP/MySql/Ajax

javascript - 如何从嵌套对象构建 HTML?

java - 针对 : while (true) 的优化

循环内的 JavaScript 闭包——简单实用的示例

php - mysql SUM 直到达到值

php - Api 平台用户通过 GraphQL 登录

arrays - 不匹配的类型 float64 和 int

c++ - C++中的反向数组指针

javascript - 从数组中随机抓取 3 个项目,其中第 3 个项目可以是 “restaurant",但不一定是