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