2017-04-14 108 views
0

我的網絡應用程序通過文件名數組返回特定​​文件夾中的所有圖像(本月每天拍攝的照片)。問題是,有時圖像數量太多(30-500張圖像)。PHP:將大數組總結爲10個數組的最有效方法是什麼?

我想要做的是通過將該數組減少爲10個圖像來提供該數組的摘要。我可以通過限制循環輕鬆獲得前10名。但這僅僅代表了第一部分(對於當天的幾張圖片)。我想從10張圖片中獲得10張圖片,10張圖片全天均勻分佈。

我可以想到幾種方法來做到這一點,但涉及到很多代碼。

想知道是否有人知道一個很酷的數組函數或方法來解決這個問題?

+0

'我想從這個數組拍攝10張影像的方式,將10張圖像在整個day.'同樣散開 - 看,這句子定義了邏輯。現在,我們不是通過弄清楚作者想要實現什麼,而是用IT術語以適當的邏輯方式解釋算法。我想說你的問題還不清楚,但你明顯在做兩件事 - 找出我提到的算法並考慮效率。專注於一個,清楚地解釋它,展示你的嘗試以及你卡在哪裏。 – Mjh

回答

2

在php中沒有內置的函數來做到這一點。我認爲最好的方法是使用sizeof()功能:

$size = sizeof($array); 
$chunkSize = ceil($size/10); 
for($i = 0;$i<$size;$i+=$chunkSize){ 
    echo $array[$i]; 
} 
+0

工作很棒:)而且很簡單..謝謝你! – BrownChiLD

1
$images = ... //result from database 
$result = []; 

$total = count($images); 
$index = round($total/10); 

for($i = 0; $i < $total; $i += $index) { 
    $result[] = $images[$i]; 
} 
相關問題