[英]PHP: What's the most efficient way to summarize a large array into just 10 arrays?
我的Web应用通过文件名数组将特定文件夹中的所有图像(一个月中每天的照片)返回给用户。 问题是有时图像数量太多(30-500张图像)。
我想做的是通过将阵列减少到仅10张图像来提供该阵列的摘要。 我可以通过限制循环轻松获得前10个。 但这仅代表第一部分(仅用于当天的少量图像)。 我想从该阵列中获取10张图像,以使10张图像全天平均分布。
我可以想到几种方法来做到这一点,但是要涉及很多代码。
想知道是否有人知道一个很酷的数组函数或方法可以解决这个问题?
php中没有内置函数可以做到这一点。 我认为最好的事情是使用sizeof()
函数:
$size = sizeof($array);
$chunkSize = ceil($size/10);
for($i = 0;$i<$size;$i+=$chunkSize){
echo $array[$i];
}
$images = ... //result from database
$result = [];
$total = count($images);
$index = round($total/10);
for($i = 0; $i < $total; $i += $index) {
$result[] = $images[$i];
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.