0

別の配列からデータを取得する配列を作成しようとすると、未定義のオフセット エラーが発生します。データを含む配列は次のとおりです。

$dailyIncome

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メンバーは1つしかありません($dailyIncome[0])が$dailyIncome[0]、31個のメンバーを持つ配列です。

のソースを 31 個のメンバーを持つ単一レベルの配列に変更するか、へのすべての参照を変更する$dailyIncome必要があります。$dailyIncome[$i]$dailyIncome[0][$i]

于 2013-10-01T23:55:25.567 に答える