1

我目前有一个图像文件夹,我试图通过 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 张图像,设置$start_pos3 将不会返回任何内容,而不是重新开始。

4

2 回答 2

1
if (count($images) > 3) {
    $start_pos += 3;
}
$images = array_slice($images, $start_pos, 3);
于 2013-09-06T22:55:26.443 回答
0

使用模数循环循环。

$selectedImages=array();
$imageNum=0;
for($i=$start_pos%count($images);$imageNum<3;i=(i+1)%count($images),$imageNum++)
{
    $selectedImages[$imageNum]=$images[$i]
}
于 2013-09-06T23:01:05.260 回答