使用PHP

时间:2016-02-11 08:57:36

标签: php image function math count

我每页至少有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是一行中可以存在的最大图片数量。

1 个答案:

答案 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]