PHP使用Reduce创建多维数组



我正在尝试制作一个数组数组。数组($multi_array(中的每个数组($group(最多需要40个项。

$multi_array = array_reduce($items, function($acc, $item) {
if (count($acc) % 40 === 0) {
array_push($acc, [$item]);
} else {
array_push($acc[count($acc) - 1], $item);
}
return $acc;
}, []);
var_dump(count($multi_array));
foreach ($multi_array as $group) {
var_dump(count($group));
}

然而,在第一个var_dump(count($multi_array((中;该值为1。在下一个var_dump中,值为546。我期望$rate_limit_array至少有13个长度为40的数组。有人知道我在reduce函数中做错了什么吗?为了实现我的目标,我应该在PHP中采取不同的方法吗?

好的,我发现了一种不同的方法来处理array_chunk:

$multi_array = array_chunk($items, 40, true);

最新更新