使用PHP函数array_chunk()创建一个数组并将其分为3个其他数组
$sumArray = array ( 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 );
$reviews_count = 4;
$sum_divided_array = array();
$sum_divided_sub_array = array();
/* Dividing the array in 3 other arrays */
$divided_array = array_chunk($sumArray, $reviews_count);
foreach ($divided_array as $key_divided_sub_array => $sum_divided_sub_array) {
for ($i = 0; $i <= (count($sum_divided_sub_array) -1); $i++) {
if(isset($sum_divided_sub_array[$i])) {
if(array_key_exists($i, $sum_divided_sub_array)) {
$sum_divided_array[$i] += $sum_divided_sub_array[$i];
}
}
}
}
print_r( $sum_divided_array );
答案 0 :(得分:0)
主要错误是您错过了检查$ sum_divided_array [$ i]是否存在的情况,在向其中添加内容之前,正确的代码将是:
<?php
//Enter your code here, enjoy!
$sumArray = array ( 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 );
$reviews_count = 4;
$sum_divided_array = array();
$sum_divided_sub_array = array();
/* Dividing the array in 3 other arrays */
$divided_array = array_chunk($sumArray, $reviews_count);
foreach ($divided_array as $key_divided_sub_array => $sum_divided_sub_array) {
for ($i = 0; $i <= (count($sum_divided_sub_array) -1); $i++) {
if(isset($sum_divided_sub_array[$i])) {
if(isset($sum_divided_array[$i])) {
$sum_divided_array[$i] += $sum_divided_sub_array[$i];
} else {
$sum_divided_array[$i] = $sum_divided_sub_array[$i];
}
}
}
}
print_r( $sum_divided_array );
如果设置了sum_divided_array,我们将为其添加子数组值;否则,我们将为其分配当前子数组。