0

我在尝试创建一个从另一个数组获取数据的数组时遇到未定义的偏移错误。包含数据的数组是:

$每日收入

array(1) { 
    [0]=> array(31) { 
        [1]=> int(0)    [2]=> int(0)    [3]=> int(0)    [4]=> int(0) 
        [5]=> int(0)    [6]=> int(0)    [7]=> int(0)    [8]=> int(0) 
        [9]=> int(0)    [10]=> int(0)   [11]=> int(0)   [12]=> int(0)
        [13]=> int(0)   [14]=> string(6) "400.00"       [15]=> int(0) 
        [16]=> int(0)   [17]=> int(0)   [18]=> string(5) "36.00" 
        [19]=> string(7) "5000.00"      [20]=> int(0)   [21]=> string(6) "123.00"
        [22]=> int(0)   [23]=> string(9) "101010.00"    [24]=> int(0) 
        [25]=> int(0)   [26]=> int(0)   [27]=> string(5) "23.50" 
        [28]=> string(9) "456464.00"    [29]=> int(0)   [30]=> int(0) 
        [31]=> int(0) 
    } 
}

该数组表示一个月中的天数以及每天完成的付款。(在该数组中列出的大多数日子里没有付款)。现在我想做一个数组,以递增的方式汇总每天完成的付款。例子:

$increment[1] = $dailyIncome[1];
$increment[2] = $dailyIncome[2] + $increment[1];
$increment[3] = $dailyIncome[2] + $increment[2];

所以有这个:

  function dailyIncrement($dailyIncome){
    $increment = array();
    for ($i=1; $i <= 31 ; $i++) { 
        # code...
        if ($i == 1) {
            # code...
            $increment[$i] = $dailyIncome[$i];
        }else{
            $increment[$i] = $dailyIncome[$i] + $increment[$i-1];
        }
    }
    return $increment;
 }

但我在行中得到未定义的偏移错误:

$increment[$i] = $dailyIncome[$i];

$increment[$i] = $dailyIncome[$i] + $increment[$i-1];

有什么建议么?

4

1 回答 1

1

发生错误是因为$dailyIncome它是一个嵌套数组 -$dailyIncome只有一个成员 ( $dailyIncome[0]),但$dailyIncome[0]它是一个包含 31 个成员的数组。

您需要将源更改为$dailyIncome具有 31 个成员的单级数组,或者您需要将每个引用更改$dailyIncome[$i]$dailyIncome[0][$i]

于 2013-10-01T23:55:25.567 回答