임 보고서에 전달해야하는 배열을 작성하려고합니다. 반환 된 데이터 중 일부는 비슷한 필드 이름을 가지므로 아래 함수를 사용하여 배열을 병합하기 전에 배열 키 이름에 접두사를 추가합니다. 그러나 메모리 부족 예외가 발생합니다. "치명적인 오류 : 536870912 바이트의 사용 가능한 메모리 크기가 고갈되었습니다 (시도했습니다. .. "에서 44 바이트 할당), 메모리의 많은 부분을 사용하지 않을 어레이의 배열 키에 접두사를 추가하는 다른 방법이 있습니까?치명적인 오류 : 536870912 바이트가 소모 된 메모리 크기가
function prefixArrayKeys(&$_array,$prefix){
foreach($_array as $k=>$v){
$nk = $prefix.$k;
$nv = $v;
array_push($_array, array($nk=>$nv));
unset($_array[$k]);
}
var_dump($_array);
}
함수를 호출 : 당신이 것이 작동하게 새로운 하나를 설정하기 전에 $의 _array [$ K]를 설정 해제하려고하면
$aSQL = "select sex, a_number, to_char(b_dtm, 'DD/MM/YYYY') b_dtm from atable where a_id = ".$ped_array[1]['D']."";
execute_sql($aSQL,$rsGTYPE);
prefixArrayKeys(&$rsGTYPE[0],"D");
if(count($rsGTYPE) > 0) $rowdata[0] = array_merge($rowdata[0],$rsGTYPE[0]);
제 생각 엔 배열을 조작하기 전에 많은 양의 메모리를 사용하는 스크립트에서 뭔가를하고있는 것 같습니다. 총 몇 개의 쿼리를 실행하고 있습니까? – rebroken