> 백엔드 개발 > PHP 튜토리얼 > PHP Foreach 루프에서 참조 변수를 사용하면 어떻게 되나요?

PHP Foreach 루프에서 참조 변수를 사용하면 어떻게 되나요?

Linda Hamilton
풀어 주다: 2024-12-13 22:32:14
원래의
854명이 탐색했습니다.

What Happens When Using Reference Variables in a PHP Foreach Loop?

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 루프에서 각 요소를 반복하면 출력이 표시됩니다. :

  • 'zero' - 'two'(요소 0은 여전히 ​​'zero'이지만 $a[3]은 이제 'two')
  • 'one' - 'two'(요소 1은 'one'으로 유지되지만 $a[3]은 여전히 ​​'two')
  • 'two' - 'two' (요소 2는 'two'로 업데이트되고 $a[3]도 'two'입니다)
  • 'two' - 'two'(요소 3은 이미 'two'였습니다. $a[3]은 '2개'로 유지됨)

이는 foreach 루프에서 참조 변수를 사용하여 첫 번째 루프에서 업데이트된 마지막 값이 반복되는 영향을 보여줍니다.

위 내용은 PHP Foreach 루프에서 참조 변수를 사용하면 어떻게 되나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿