2013-10-01 4 views
0

다른 배열에서 데이터를 가져 오는 배열을 만들려고 할 때 정의되지 않은 오프셋 오류가 발생합니다. 데이터와 배열은 다음과 같습니다배열 PHP unidefined 오프셋 오류

$ 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]; 

그래서이있다 :

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

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

제안 :

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; 
} 

을하지만 라인 메신저지고 정의되지 오프셋 오류?

+0

$dailyIncome[$i]에 대한 모든 참조를 변경해야'경우 ($ i == 1) { # code ... $ increment [$ i] = $ dailyIncome [0] [$ i]; } else { $ increment [$ i] = $ dailyIncome [0] [$ i] + $ increment [$ i-1]; }' –

+0

어떻게 중첩 된 배열이되었는지 모르겠습니다. 어떻게 되죠? –

+0

어딘가에 뭔가 다른 것이 있어야합니다. 이 코드는 플랫 배열을 반환해야하는 것처럼 보입니다. 당신은'$ dailyIncome = array (getDailyGraph());'와 같은'getDailyGraph()'의 반환 값이 조작되지 않는다고 확신합니까? –

답변

1

$dailyIncome은 중첩 된 배열이므로 오류가 발생합니다. $dailyIncome에는 멤버가 하나만 ($dailyIncome[0]) 있지만 $dailyIncome[0]은 31 명의 멤버가있는 배열입니다.

당신은 (31 명) 회원들과 단일 레벨 배열로 $dailyIncome의 소스를 변경하거나 필요하거나 $ dailyIncome가 중첩 배열이기 때문에 당신은 $dailyIncome[0][$i]

+0

$ dailyIncome을 중첩 배열로 정의했을 때 확실치 않습니다. 어떻게 피할 수 있습니까? –

+0

우리는'$ dailyIncome'을 생성하는 코드를 보여 주어야만 거기에서 무슨 일이 일어나고 있는지 알 수 있습니다. –

+0

방금 ​​내가 한 일을 보여주는 내 게시물을 편집했습니다. –