Php 分页和foreach循环

Php 分页和foreach循环,php,arrays,for-loop,foreach,Php,Arrays,For Loop,Foreach,我正在尝试用AmazonS3实现分页,这是我可以在foreach启动和完成时设置的方法吗 示例我有来自amazon的以下输出。这是我的打印输出($files) 我想从foreach中的第4个元素开始,在第6个元素停止,只显示中间的元素 $i = 0; $start = 4; $stop = 6; foreach($files as $v){ if (++$i == $start) echo $v['name']; if (++$i == $s

我正在尝试用AmazonS3实现分页,这是我可以在foreach启动和完成时设置的方法吗

示例我有来自amazon的以下输出。这是我的打印输出($files)

我想从foreach中的第4个元素开始,在第6个元素停止,只显示中间的元素

$i = 0;

$start = 4;

$stop = 6;

    foreach($files as $v){ 

      if (++$i == $start)

    echo $v['name'];

      if (++$i == $stop) break; 

    }

有人能帮我解决这个问题吗?

这很难看,但它可以工作(如果你想展示第4项和第5项):


你必须让你的限制器充满活力。分页还需要两个不同的计数器。 一个计数器从零开始。。。下一步从第*页开始。这两个循环需要在每个循环中添加1:

$c=0;
$p=$_GET[page] * 25;
$l=$p + 25;
foreach($array as $obj){
$c++; $p++;
if ($p==$l) break;
if ($c>$p) echo $obj;
}
reset ($files);
for($i = 0; $i < 3; $i++) {
    next($files);
}
for ($i = 0, $current = current($files); $i < 2 && false !== $current; $i++, $current = next($files)) {
    echo $current['name'];
}
$i = 0;
$start = 4;
$stop = 6;
foreach($files as $v){ 
  if (++$i >= $start) echo $v['name'];
  if ($i == $stop) break;
}
$c=0;
$p=$_GET[page] * 25;
$l=$p + 25;
foreach($array as $obj){
$c++; $p++;
if ($p==$l) break;
if ($c>$p) echo $obj;
}