이 기사에서 제공하는 내용은 PHP 변수를 참조하는 방법이 무엇인지입니다. PHP 변수의 참조 메커니즘에 대한 이 요약은 특정 참조 가치가 있습니다. 도움이 필요한 친구들이 참조할 수 있기를 바랍니다.
1. PHP의 변수 참조, "&":
$a = "hello world";//定义一个变量,下面赋值给$b $b = $a; //这一步实际上原理是会将变量$a复制拷贝一份,也就是内存中重新申请一个地址存储变量$b
참고: PHP에서는 "="을 사용하여 값을 직접 할당합니다. 이는 실제로 오른쪽에 있는 변수를 복사합니다. $b에 추가하면 메모리 공간이 생성되고 결과적으로 메모리에 동일한 내용이 두 개 복사될 수 있습니다.
2. 참조를 만들려면 "&" 기호를 사용하세요.
$a = "hello world"; $b = &$a;
참고: 참조를 사용할 때 PHP 엔진은 실제로 변수를 복사하지 않습니다. 포인터는 $a를 가리키며, 이 포인터는 $b에 저장됩니다.
따라서 참조를 사용할 때 $b의 값을 변경하면 $a도 그에 따라 변경됩니다.
$a = "hello world"; $b = &$a; $b = "test new value"; //把b的值改掉,a的值也会跟着改变 echo $a; //输出test new value,因为改变了b的值也会改变a的值。
함수를 정의할 때 다음과 같은 상황을 자주 봅니다.
function test (&$param){ $param++; } $k = 8; test($k); echo $k; //结果$k的值被函数里面改变了,输出9。
참고: $param 앞에 참조가 있으므로 매개변수에 전달됩니다. 메모리에 복사되지 않고 원래 메모리 공간을 직접 참조합니다. 따라서 & 기호를 사용하여 전달된 변수 값이 수정되면 원래 메모리 공간의 값도 변경됩니다.
3. 변수를 파기할 때. 원래 값은 변경되지 않습니다.
$a = 'd';
$b = &$a;
$b = 8;
var_dump($b,$a); //因为是引用了,所以把b的值改掉,a的值也跟着改为8了。
unset($b); //调用unset删除b变量,a变量不会删除
var_dump($b,$a); //输出null和8
참고: $b 변수를 삭제하기 위해 unset을 호출할 때 변수 기호 테이블에서 발견된 PHP 엔진: 삭제하려는 변수 $b는 원래 $a 변수를 참조하지만, $a 변수는 삭제하자마자 사라지기 때문에 먼저 $a 변수를 복사한 후 $b 변수를 삭제합니다.
관련 권장 사항:
위 내용은 PHP 변수를 참조하는 방법은 무엇입니까? PHP 변수 참조 메커니즘의 방법 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!