我有一个foreach循环,该循环遍历一个数组(simpleXML节点).该数组中可以包含0到几百个项目.我想找到一种方法来显示前10个结果,然后有一个链接来显示后10个结果,依此类推.
例如,我目前有:
$i=0;
$limit=10;
foreach ($nodes as $node){
echo "here is the output: ".$node."
\n";
if (++$i >=$limit) break;
}
显然,无论$nodes数组中有多少个项目,它只会显示前10个.但是我想我读到了foreach循环每次运行时都会重置计数器-因此,如果我想要一个链接说:next 10 itmes-我不确定如何告诉循环从index = 10开始.
我什至在这里吠叫正确的树吗?
解决方法:
这称为分页.您可以使用array_slice:http://php.net/array_slice提取所需的数组段
$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."
\n";
}
然后,您只需要一个链接,并使用参数?page = $page 1指向同一页面.
标签:php,foreach
来源: https://codeday.me/bug/20191012/1898114.html