我每页至少有2张图片,最多8张图片。根据我拥有的图像数量,它会以不同的方式生成图库。
以下是如何运作的图表
8 - 4x4
7 - 4x3
6 - 3x3
5 - 3x2
4 - 4
3 - 3
2 - 2
第一列包含总图像数。以下数字是连续的图像。
示例
如果我有7张图片,则应返回如下数组:
array(4,3)
最终结果是我将在第一行循环出4张图像,然后在第二行循环出3张大图像。
如果声明
我可以用if语句做到这一点,但我想有可能有办法计算这个吗?
每个人的解决方案
如果这对更多人有用,那么就需要这样的功能:
function getGalleryRows($count, $row_limit) {
}
其中$count
是图片数量,$row_limit
是一行中可以存在的最大图片数量。
答案 0 :(得分:2)
我不知道我是否帮助你,但这就是你想要的吗?
function getGalleryRows($count, $row_limit) {
$arr = array();
while ($count > 0){
array_push($arr, (($count > $row_limit) ? $row_limit : $count));
$count -= $row_limit;
}
return $arr;
}
实施例
echo json_encode(getGalleryRows(7,2)); // returns [2,2,2,1]
echo json_encode(getGalleryRows(7,4)); // returns [4,3]