>  기사  >  백엔드 개발  >  Foreach 참조는 PHP의 주소를 전달합니다.

Foreach 참조는 PHP의 주소를 전달합니다.

小云云
小云云원래의
2018-03-22 14:14:503115검색

이 기사에서는 주로 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.