> 백엔드 개발 > PHP 튜토리얼 > [PHP] foreach 루프의 참조 할당 문제

[PHP] foreach 루프의 참조 할당 문제

little bottle
풀어 주다: 2023-04-05 21:54:01
앞으로
3316명이 탐색했습니다.

foreach($arr as &$value)
1. 참조 할당 기호는 & 루프가 실행될 때마다 현재 요소를 주소로 바꿉니다. end $ 값은 마지막 요소
2를 가리키는 주소입니다. 다음에 루프를 실행하고 foreach($arr as $value) 메서드를 사용하면 foreach가 각 요소를 다음 $에 할당하는 데 문제가 발생합니다. 값 변수
3 따라서 논리는 각 요소를 원래 배열의 마지막 요소로 수정하며 마지막 루프는 항상 이전 결과
4가 됩니다. , $arr[$key] 형식을 사용하여 원래 배열을 변경하거나 다음 루프 중에 변수 이름을 변경합니다.


$nums=array(1,2,3);
foreach($nums as &$v){
        var_dump($v);
}
/*
int(1)
int(2)
int(3)
*/
var_dump($nums);
/*
array(3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  &int(3)
}
*/
foreach($nums as $v){
        var_dump($v);
}
/*
int(1)
int(2)
int(2)
*/
로그인 후 복사

[관련 튜토리얼: # 🎜🎜#PHP 비디오 튜토리얼] 

위 내용은 [PHP] foreach 루프의 참조 할당 문제의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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