2016-02-11 48 views
0

我每頁最少有2幅圖像和最多8幅圖像。根據我擁有的圖像數量,它會產生不同的畫廊。用PHP自動生成圖庫

這裏是它應該如何工作

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是:如果這將是爲更多的人有用的話,那就需要這樣的功能給大家

解決方案圖像的最大數量可以在一行中。

回答

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] 
+0

噢,我的!你明白了!如此簡短而甜蜜。我真的試圖打破它,但我不能。做得好! –

+0

@JensTörnell歡呼! –