如何从肥皂呼叫到19个项目中提供有限的php循环输出



我进行肥皂调用,然后返回带有我要处理的数据的树对象。我使用foreach()循环,然后将其显示在页面上。但是,有些电话有太多的项目,我需要将迭代限制到前端的X个项目中。

foreach($variable->node->node as $object) { ?>
  <div class="page"><p><? echo $object->node; ?></p></div>

使用此限制,我想知道我如何在添加休息和关闭选项卡之前对19个项目的反面进行操作。因此,它结束如下:

<div class="page"><p>item 1</p><p>item 2</p>.... item 20</p></div>
 <div class="page"><p>item 20</p><p>item 21</p>....

您可以通过两种方式进行计数器,首先是常规计数器,例如:

$counter++;

该代码增量var $ counter一个。或者,您可以将此语句用于计数器:

foreach($variable->node->node as $counter=>$object) {

完成此操作,您现在可以使用以下方式创建突破点:

if(!($counter % 19)) add_break_and_close_tab()

另一个选项是使用array_chunk()。允许您将数组切成19个项目,以便您可以有效打印。

$chunks = array_chunk($data, 19);
<?php foreach($chunks as $group) : ?>
    <div class="page">
        <?php foreach($group as $item) : ?>
            <p><?php echo $item; ?></p>
        <?php endforeach; ?>
    </div>
<?php endforeach; ?>

示例


上面的数据将准确打印出您想要的方式。永远不要超过块限制(在这种情况下为19