如何从SoapClient调用向19项提供有限的PHP循环输出?

时间:2015-05-14 02:32:42

标签: php soap

我进行SOAP调用并返回一个包含我想要处理的数据的树对象。我使用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>....

2 个答案:

答案 0 :(得分:0)

你可以用两种方式制作一个计数器,首先是常规计数器,如:

$counter++;

该代码将var $ counter递增1。或者您可以将此语句用于计数器:

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

完成此操作后,您现在可以使用以下方法创建休息点:

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

答案 1 :(得分:0)

另一种选择是使用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; ?>

Example

上面会根据您的需要打印您的数据。永远不要超过块限制(在这种情况下为19