foreach의 PHP 참조로 전달
참조로 전달 이해
PHP에는 두 개의 변수가 있습니다. 유형: 일반 변수 및 참조 변수. 변수의 참조를 다른 변수에 할당하면 참조 변수가 생성됩니다. 변수는 참조된 변수의 별칭이 됩니다.
Foreach 루프에서 참조로 전달
foreach 루프에서 구문 foreach($a as &$v) 각 배열 요소에 대한 참조를 변수 $v에 전달합니다. 즉, 루프 내부에서 $v를 변경하면 원래 배열 요소도 수정됩니다.
코드 조각 설명
$a = array ('zero','one','two', 'three'); foreach ($a as &$v) { } foreach ($a as $v) { echo $v.PHP_EOL; }
이 코드에서:
zero one two two
출력 이유
첫 번째 foreach 루프 후 요소 $ a[3]은 $v에서 참조되므로 참조 변수가 됩니다. 따라서 후속 반복에서 $v에 새 값이 할당되면 $a[3]도 수정됩니다.
$a[3]는 이제 참조 변수이므로 두 번째 foreach 루프에서 해당 값을 변경합니다. 루프의 다른 모든 반복에 영향을 미칩니다. 따라서 마지막 반복에서는 '3' 대신 '2'가 인쇄됩니다.
위 내용은 `foreach` 루프에서 PHP의 참조에 의한 전달이 배열 요소 수정에 어떤 영향을 줍니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!