2 回答
TA贡献1850条经验 获得超11个赞
您可以通过多种方式实现这一目标。如果这是一个赋值,计数和循环将帮助您理解所需的逻辑,但您可以使用内置函数以一种相当紧凑的方式完成此操作:
array_map
将给定的函数应用于数组的每个元素并返回一个新数组。array_chunk
拆分包含指定元素数量的数组。max
返回数组的最大值。
把它们放在一起:
$array = [1,2,3,4,15,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10,22,42,33,34,35,36,37,38,11,10];
$max = array_map('max', array_chunk($array, 10));
TA贡献1810条经验 获得超4个赞
有一些逻辑:
$array = [1,2,3,4,15,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10,22,42,33,34,35,36,37,38,11,10];
$lengthOfArray = count($array);
$maxValues = [];
$groupBy = 10;
$tempMaxValue = -1; // A small value that can be comparable
//Loop the array
for ($i=0; $i < $lengthOfArray; $i++) {
if($tempMaxValue<$array[$i]){
$tempMaxValue= $array[$i];
}
// If we passed 10 results:
if($i%$groupBy==9){
$maxValues[] = $tempMaxValue; //Hold the Max
$tempMaxValue = -1; //Reset the temp value
}
}
$maxValues将包含所有结果。
- 2 回答
- 0 关注
- 183 浏览
添加回答
举报