FOR限制生成循环链接

时间:2015-08-23 08:13:34

标签: php arrays loops for-loop

如何生成链接?例如,我想从页面/ 5开始创建10个链接并动态生成10个链接 - 它似乎先跳过5并从链接5到15生成,例如

第5页,第6页,第7页,第15页

$numOfPages = 10;
$startfrom = 5;
$pages = [];

for ($i = $startfrom; $i <= $numOfPages; $i++) {
$pages[] = 'page/' . $i;
}

如果$ startfrom grater而不是$ numOfPages

,则无效

1 个答案:

答案 0 :(得分:0)

$ startfrom是一个偏移量,因此您需要从该偏移量循环到偏移量+您想要的页面数量:

for ($i = $startfrom; $i < $startfrom+$numOfPages; $i++) {

你可以在循环中添加:

for ($i = 1; $i <= $numOfPages; $i++) {
  $pages[] = 'page/' . ($i + $startfrom)
}

但是由于你可能有一个最大页数,可能不是10的5的倍数,我引入了一个额外的变量并在实际循环之前确定循环的结束(使用{{3} })。这样,循环本身及其中的代码非常简单:

$totalPages = 28; 
$pagesToShow = 10;
$startFrom = 5;

$loopTo = min($startFrom + $pagesToShow - 1, $totalpages);

for ($i = $startFrom; $i <= $loopTo; $i++) {
  $pages[] = 'page/' . $i;
}