그래서 foreach는 내부 배열에 새 인덱스 추가 :내가이 있고,
$abc = array('a','b','c');
foreach ($abc as $k => &$a) {
echo $a;
if ($k == 1)
$abc[] = 'd';
}
일의 예상대로, foreach 문을 반복 4 번 나에게주는 : 지금
abcd
을하지만 때 있습니다 :
$myvar = $this->someModel->return_an_array_as_result(); // returns array([0] => array('a' => 'b'))
foreach ($myvar as $myvar_key => &$mv){
$myvar[] = array('e' => 'f');
var_dump($myvar);
if ($myvar_key == 5) die;
}
foreach는 한 번만 실행됩니다.
내부 포인터를 재설정 할 때 foreach가 작동하는 방법에 대한 의견이 있으십니까?
예는 한 번 실행됩니다 ... 당신에게 '$ myvar'는'array ([0] => array ('a'=> 'b'))' – Baba
을 반환하지만 두 번째 코드를 자세히 살펴 보겠습니다 :'$ myvar [] ' – dmmd
업데이트 된 답변보기 ...'ArrayObject' Insted를 사용해야합니다 – Baba