0
이상한 점이 있는데, 간단 할 수도 있지만 해결책을 찾을 수 없습니다.객체가 배열 오버라이드에 푸시되었습니다.
$counter = 0;
$autoload_view_instace = new Logic_InvoiceCostData;
$sub_view_cost = array();
foreach($invoceCostData as $data)
{
$counter++;
$parm = $autoload_view_instace->edit_view_data($autoload_view, $data, $counter);
array_push($sub_view_cost, $parm);
}
루프는 일부 값을 가진 객체를 반환 edit_view_data
메소드를 호출 다음은 코드의 일부입니다. 객체는 이전에 추가 된 객체의 값을 변경하지 않고 각 반복에서 배열의 끝에 배치해야합니다. 그러나 각 반복 후에 배열의 모든 객체는 새로 추가 된 객체와 동일한 값을 갖습니다.
try $ sub_view_cost [] = $ parm; 대신 작동하는지 확인하십시오. 그러나 PHP 매뉴얼에서주의 할 점 : array_push()를 사용하여 배열에 하나의 요소를 추가하면 $ array [] =를 사용하는 것이 더 좋다. 왜냐하면 그런 식으로 함수를 호출하는 오버 헤드가 없기 때문이다. – Satya
시도하고 같은 결과. 해당 메서드의 모든 변수를 확인하고 그것이 내가 원하는 것을 반환하는 것이 좋습니다. –
'foreach' 루프에서'$ parm'을'unset ($ parm)'으로 수정하지 마십시오. – Lekhnath