PHP Foreach의 참조 변수
주어진 코드에서는 첫 번째 foreach 루프에서 참조 변수를 사용하기 때문에 문제가 발생합니다. 설명은 다음과 같습니다.
$a = ['zero', 'one', 'two', 'three']; foreach ($a as &$v) { // $v is a reference to the current array element } foreach ($a as $v) { echo $v . PHP_EOL; }
PHP에서 변수는 일반 변수 또는 참조 변수일 수 있습니다. 일반 변수는 데이터 값을 보유하고 참조 변수는 데이터 위치를 가리킵니다.
첫 번째 루프에서는 $v = &$a[0]; 따라서 $v는 배열의 첫 번째 요소인 'zero'에 대한 참조가 됩니다. 이는 $v에 대한 모든 수정 사항이 $a[0]에 반영되고 그 반대의 경우도 마찬가지라는 의미입니다.
이제 두 번째 루프에서는 $v = 'two'가 됩니다. $v는 참조 변수이므로 이 작업은 배열의 해당 요소인 $a[3]도 수정합니다.
마지막으로 두 번째 foreach 루프에서 각 요소를 반복하면 출력이 표시됩니다. :
이는 foreach 루프에서 참조 변수를 사용하여 첫 번째 루프에서 업데이트된 마지막 값이 반복되는 영향을 보여줍니다.
위 내용은 PHP Foreach 루프에서 참조 변수를 사용하면 어떻게 되나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!