몇 가지 배열이 있습니다.
$officers
& $dates
각각 $officers
에는 두 개의 배열이 있습니다 ( $i
임원 번호 임) :
${'raw_tot_data_'.$i}
& ${'raw_pd_data_'.$i}
이들은 각각 (인 경우 $i=0
) :
$raw_tot_data_0
& $raw_pd_data_0
이제 현재 다음과 유사한 JSON
배열 ( $ourData
)이 있습니다.
//$ourData
[
//$officer_0
{
"code": "cg",
"tots": [],
"pds": []
},
//$officer_1
{
"code": "crg",
"tots": [],
"pds": []
},
//$officer_2
{
"code": "jan",
"tots": [],
"pds": []
},
...
각 장교 tots
및 pds
. 이를 위해 다음을 시도했습니다 (이것은 pre입니다 json_encode($ourData)
).
$i=0;
foreach($officers as $officer){
$n=0;
foreach($dates as $date){
$tmp = ${'officer_'.$i};
$ourData[$tmp]['tots'][$n] = ( //error here
$date.' : '.${'raw_tot_data_'.$i}[$n]
);
$ourData[$tmp]['pds'][$n] = ( //error here
$date.' : '. ${'raw_pd_data_'.$i}[$n]
);
$n++;
}
$i++;
}
이것은 다음과 같은 오류를 반환합니다.
잘못된 오프셋 유형
몇 가지 조사 후 나는 이것을 발견했습니다.
개체 또는 배열을 인덱스 키로 사용하여 배열 인덱스에 액세스하려고하면 잘못된 오프셋 유형 오류가 발생합니다.
이 문제를 해결하려면 어떻게해야합니까?
여기에 귀하의 가치 ...
$tmp = ${'officer_'.$i};
$tmp
변수의 값으로 설정 하고 있는데, (내 생각에) 문자열 자체가되기를 원할 때 ...
$tmp = 'officer_'.$i;
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다