Php 数组\u拼接不删除项目,正常情况下从数组返回每个项目

Php 数组\u拼接不删除项目,正常情况下从数组返回每个项目,php,arrays,foreach,array-splice,Php,Arrays,Foreach,Array Splice,我一直在尝试从文件夹中获取图像列表,然后使用$\u GET值限制接收的项目数量。首先,我尝试“foreach”数组_拼接函数,但我了解到返回删除的项目,例如,我希望得到“2”的值,然后返回图像50-100、2、100-150,例如。。如果值为1,则可能会返回图像0-50、2、51-101和3 102-152。只要每个值返回50个不冲突的图像——你就知道了,哈哈 <?php ini_set('display_errors', 1); ini_set('display_startup_erro

我一直在尝试从文件夹中获取图像列表,然后使用$\u GET值限制接收的项目数量。首先,我尝试“foreach”数组_拼接函数,但我了解到返回删除的项目,例如,我希望得到“2”的值,然后返回图像50-100、2、100-150,例如。。如果值为1,则可能会返回图像0-50、2、51-101和3 102-152。只要每个值返回50个不冲突的图像——你就知道了,哈哈

<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

$limit = 50;

if(!isset($_GET['page'])) {
    $page = (int)1;
} else {
    $page = (int)$_GET['page'];
}

$start = (int)(($page*$limit)-$limit);
$end = (int)($page*$limit);

$origin = scandir('imgs/');
$images = array_diff($origin, array('.', '..'));
array_slice($images, $end, $start);
echo $start . ' ' . $end;
?>

<?php
    $i = 0;
    foreach($images as $img) {
        echo $i . ' ';
        $i++;
    }
    ?>


您应该使用
$images=array\u slice($images,$end,$start)。也
$end=(int)($page*$limit)-1
您似乎没有更改
array\u切片
code抱歉,没有注意到您的
array\u切片
参数。您需要
$images=array_diff($origin,array('.','..)
然后
$images=array\u slice($images,$start,$limit)。第1页为0-49,第2页为50-99,第3页为100-149,等等。请注意,实际上您根本不需要
$end
,您的代码看起来很好。您应该
var\u dump($\u GET)
以确保它包含您认为应该包含的内容。您需要从
$i=$start,而不是
$i=0
应该使用
$images=array\u slice($images,$end,$start)。也
$end=(int)($page*$limit)-1
您似乎没有更改
array\u切片
code抱歉,没有注意到您的
array\u切片
参数。您需要
$images=array_diff($origin,array('.','..)
然后
$images=array\u slice($images,$start,$limit)。第1页为0-49,第2页为50-99,第3页为100-149,等等。请注意,实际上您根本不需要
$end
,您的代码看起来很好。您应该
var\u dump($\u GET)
以确保它包含您认为应该包含的内容。您需要从
$i=$start,而不是
$i=0