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

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

little bottle
little bottle앞으로
2019-04-17 13:20:313321검색

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으로 문의하시기 바랍니다. 삭제