이 기사에서는 주로 PHP의 foreach 참조 전송 주소를 공유합니다. 이 문제를 이해하려면 세 가지 지식이 필요합니다. 이것이 모든 사람에게 도움이 되기를 바랍니다.
1 php의 일반 할당 및 참조 할당
변수 이름은 힙에 있는 특정 메모리의 주소를 가리킵니다.
일반 값을 통해 힙에서 메모리를 찾습니다. 값을 전달한 후에는 서로 다른 주소 이름이 서로 다른 메모리 엔터티를 가리킵니다.
참조를 전달한 후 값으로 전달되는 참조는 서로 다른 주소 이름이지만 그 중 하나를 변경하면 모두 동일한 메모리 엔터티를 가리킵니다. 다른 하나도 바뀔 거예요
아마도 이런 관계일 겁니다. 자세한 내용은 https://www.cnblogs.com/mushan/p/4330386.html
2 변수의 범위
모든 함수 외부에서 정의된 변수, 전역 범위를 갖습니다. 함수 내부에 정의된 변수는 로컬 범위에서 사용됩니다. 전역 변수는 스크립트의 어느 곳에서나 액세스할 수 있지만, 함수 내의 전역 변수에 액세스하려면 global 키워드를 사용하십시오. 지역 변수는 함수 내부에서만 접근할 수 있습니다.
3 foreach $arr = array(1,2,3); foreach($arr as &$v){} $v 变量未销毁 $arr[2] 与 $v保持索引关系(数组组后一个元素) foreach ($arr as $v){} $v 每次获得新值 $arr=array(1,2,&$v); $v=1 数组为 array(1,2,1); $arr=array(1,2,&$v); $v=2 数组为 array(1,2,2); 第三次遍历数组为 array(1,2,2); 所以结果为 array(1,2,2);
위 내용은 Foreach 참조는 PHP의 주소를 전달합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!