foreach는 PHP에서 자주 사용되는 함수이며 배열을 순회하는 데 자주 사용됩니다. 배열의 요소가 값인 경우(예: 일반 배열), foreach는 배열의 각 요소 값을 The에 복사합니다. 각각 뒤의 변수는 값 자체의 복사본입니다. 값을 변경해도 배열 자체에는 영향을 미치지 않습니다.
예: (권장 학습: PHP 비디오 튜토리얼)
$arr = array(1, 2, 3); foreach($aa as $el){ $el =+ 100; } foreach($arr as $el){ echo $el; echo "<br/>"; } // 结果:1 2 3
그러나 객체 배열인 경우, 즉 배열 요소가 모두 객체인 경우 각 뒤에 있는 변수는 객체 참조의 복사본이며 이에 대한 변경 사항은 원본 배열 자체에 직접적인 영향을 미칩니다. 이 점은 위의 상황과 혼동되기 쉽습니다.
예:
$aa = new stdClass(); $aa->name = '张三'; $bb = new stdClass(); $bb->name = '李四'; $arr = array($aa, $bb); foreach($arr as $element){ $element->name = 'qqyumidi'; } foreach($arr as $el){ echo $el->name; echo "<br/>"; } // 结果:qqyumidi qqyumidi
위 내용은 PHP 객체 배열과 일반 배열의 차이점의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!