PHP使用Reduce创建多维数组

PHP使用Reduce创建多维数组,php,Php,我正在尝试制作一个数组。阵列($multi_阵列)中的每个阵列($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;

我正在尝试制作一个数组。阵列($multi_阵列)中的每个阵列($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_转储中(count($multi_数组));该值为1。在下一个var_转储中,值为546。我希望$rate\u limit\u数组至少有13个长度为40的数组。有人知道我在reduce函数中做错了什么吗?为了实现我的目标,我应该在PHP中采用不同的方法吗?

好的,我找到了一种不同的方法:


好的,我找到了一种不同的方法:

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