변수 참조
변수 참조 많은 교사들은 C 언어 포인터를 사용하여 설명하는 것을 좋아합니다. 다년간의 개발 및 교육 경험을 가진 사람들로서 PHP를 배우는 대부분의 사람들은 C 언어를 전혀 이해하지 못합니다.
변수 참조를 설명하기 위해 C 언어의 포인터를 사용하는 것만으로도 충분하다고 생각합니다. 더욱이 C 언어에 대한 기초가 없는 친구가 학습하는 것은 도움이 되지 않습니다.
변수 참조 지식 포인트는 설명을 토대로 이해하시기 바랍니다!
두 코드의 실행 결과를 비교해 보겠습니다.
첫 번째 코드에서는 차이가 없습니다. 이는 원래 PHP 코드인
<?php $fo = 5; //$fo的值为5,将5赋值 $bar = $fo; //$bar的值原来为5,现在将值改为6 $bar = 6; //$bar的结果为6 echo $bar.'<br />'; //$fo的结果为5 echo $fo.'<br />'; ?>
두 번째 코드 부분인
<?php $fo = 5; //注意,加上了一个&符哟 $bar = &$fo; $bar = 6; //$bar的结果为6 echo $bar.'<br />'; //$fo的结果为6 echo $fo.'<br />'; ?>
와 정확히 동일합니다. 두 결과가 모두 6이 되는 이유는 무엇입니까?
저는 이런 예를 자주 들어요. 우리는 이것을 이렇게 상상할 수 있습니다: 변수 이름은 데이터 값에 해당합니다. 아래와 같이
및 추가(및 문자 뒤에)는 아래와 같이 변수가 동일한 저장 공간을 가리킵니다.
즉, $fo나 $bar의 값이 어떻게 변하더라도 $fo가 $bar로 변하고, $bar가 변하면 $fo도 변하게 됩니다.
이해를 돕기 위해 신뢰할 수 없는 예를 들어보겠습니다.
당신의 집에는 Wangcai라는 강아지가 있습니다. 고우단이라는 강아지가 또 있습니다. 어느 날 당신은 개의 알을 먹었습니다. 왕차이에게 고우단이라는 이름을 붙여주다
그럼 고우단을 때리든 왕차이를 때리든 같은 개를 때리는 셈이다.
참고: C 언어 포인터를 이해하고 이해하고 익숙하다면. 포인터를 사용하여 직접 이해할 수 있지만 이는 이 기사의 범위를 벗어납니다.
다음 섹션