我目前有一个图像文件夹,我试图通过AJAX调用循环,我想一次返回3直到结束,然后从头开始。
如果达到目的,那么我就会遇到从初始开始的逻辑问题。
这是我现在所拥有的。
$images = glob("images/*.jpg");
// sort images by file time
usort($images, function($a, $b) {
return filemtime($a) < filemtime($b);
});
$images = array_slice($images, $start_pos, 3);
将图像切割为3 $start_pos
的组将为0,然后在第一次调用之后,最多为3以返回图像4,5,6。但是目前,如果我的图像数量不超过3张,那么设置3的$start_pos
将不返回任何内容,而不是重新开始。
答案 0 :(得分:1)
if (count($images) > 3) {
$start_pos += 3;
}
$images = array_slice($images, $start_pos, 3);
答案 1 :(得分:0)
使用模数循环循环。
$selectedImages=array();
$imageNum=0;
for($i=$start_pos%count($images);$imageNum<3;i=(i+1)%count($images),$imageNum++)
{
$selectedImages[$imageNum]=$images[$i]
}