PHP获取求和数组,但具有“ Notice”未定义偏移量:0

时间:2019-02-25 14:06:52

标签: php

使用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 );

1 个答案:

答案 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,我们将为其添加子数组值;否则,我们将为其分配当前子数组。