PHP - 显示来自foreach循环的'X'项,其中包含显示下一个'X'项的链接

dij*_*jon 2 php foreach

我有一个循环遍历数组的foreach循环(simpleXML节点).该数组中可以包含0到几百个项目.我想找到一种方法来显示前10个结果,然后有一个链接显示下10个,依此类推.

例如,我目前有:

$i=0;
$limit=10;
foreach ($nodes as $node){
echo "here is the output: ".$node."<br>\n";
if (++$i >=$limit) break;
}
Run Code Online (Sandbox Code Playgroud)

很明显,无论$ nodes数组中有多少项,它只显示前10个.但我想我读过每次循环时foreach循环重置计数器 - 所以如果我想要一个链接说:next 10 itmes- 我我不确定如何告诉循环开始索引= 10.

我甚至在这里咆哮着正确的树吗?

Seb*_*itz 5

这称为分页.您可以使用array_slice提取所需的数组段:http://php.net/array_slice

<?php
$page = isset($_GET['page']) ? intval($_GET['page']) : 0;
$elementsPerPage = 10;
$elements = array_slice($nodes, $page * $elementsPerPage, $elementsPerPage);

foreach($elements as $node)
{
    echo "Here is the output: ".$node."<br>\n";
}
Run Code Online (Sandbox Code Playgroud)

那么你只需要一个指向带有参数的同一页面的链接?page = $ page + 1