>  기사  >  백엔드 개발  >  PHP 변수 할당: 값 전달과 참조 전달의 차이점

PHP 변수 할당: 값 전달과 참조 전달의 차이점

怪我咯
怪我咯원래의
2017-05-04 11:39:483852검색

변수란 프로그램이 실행되는 동안 값이 변할 수 있는 정도를 말하며, 편리하게 호출할 수 있도록 값을 저장하는 데 사용됩니다. 하지만 PHP에서는 변수에 값을 할당하는 방법이 두 가지가 있습니다. : 값 전송과 참조 전송 이 장에서는 변수에 값을 할당하는 두 가지 방법이 다릅니다. 값 전송과 참조 전송의 차이점

먼저 값 전달 방법을 살펴보겠습니다.

값 전달 방법은 가장 일반적으로 사용되는 방법이자 변수에 값을 할당하는 기본 방법입니다. 예를 들어 설명하겠습니다.

<?
header("content-type:text/html;charset=utf-8");     //设置编码
echo "值传递的方式";
echo "<hr/>";
$var1= "PHP";
$var2=$var1;
echo $var1."<hr/>";
echo $var2;
?>

코드 실행 결과:

PHP 변수 할당: 값 전달과 참조 전달의 차이점

위의 예에서 값 전송은 다음의 값을 전송하는 것임을 알 수 있습니다. 현재 변수에 다른 변수를 부여하는 것은 복사 작업과 같습니다. 두 변수는 서로 독립적입니다. 한 변수의 값을 변경해도 다른 변수의 값은 변경되지 않습니다.

<?
header("content-type:text/html;charset=utf-8");     //设置编码
echo "值传递的方式";
echo "<hr/>";
$var1= "PHP";
$var2=$var1;
echo $var1."<hr/>";
echo $var2."<hr/>";

echo "<p>改变其中一个变量的值,另一个不会有变化</p>";
$var2="HTML";

echo $var1."<hr/>";
echo $var2."<hr/>";
?>

코드 실행 결과:

PHP 변수 할당: 값 전달과 참조 전달의 차이점

참조 전송을 살펴보겠습니다.

참조 할당은 "&"를 사용하여 참조를 나타냅니다. 참조 할당 사용하기 한 변수의 값을 변경하면 다른 변수도 변경됩니다.

<?
header("content-type:text/html;charset=utf-8");     //设置编码
echo "引用传递的方式";
echo "<hr/>";
$var1= "PHP中文网";
$var2=&$var1;
echo $var1."<br/>";
echo $var2."<br/>";
?>

코드 실행 결과:

PHP 변수 할당: 값 전달과 참조 전달의 차이점

이때 두 변수는 바뀌지 않았지만, 둘 중 하나를 바꾸면 그 가치는 무엇입니까?

<?
header("content-type:text/html;charset=utf-8");     //设置编码
echo "引用传递的方式";
echo "<hr/>";
$var1= "PHP中文网";
$var2=&$var1;
echo $var1."<br/>";
echo $var2."<br/>";

echo "<p>使用引用传递的方式改变其中一个变量的值</p>";
$var2="HTML";

echo $var1."<br/>";
echo $var2."<br/>";
?>

코드 실행 결과:

PHP 변수 할당: 값 전달과 참조 전달의 차이점

참조 전송을 사용하여 변수에 값을 할당하면 다른 변수도 변경됩니다. 또한 변경합니다.

요약

위의 예 중 일부를 통해 값 전달과 참조 전달의 차이점은 다음과 같습니다. 값 전달은 원본 내용을 복사합니다. 그런 다음 새 메모리 공간을 사용하여 두 변수는 서로 독립적이며 참조로 전달하는 것은 실제로 두 변수가 동일한 값을 참조하는 것과 같습니다. 변수에 두 개의 이름을 부여하는 것과 같습니다

【관련 권장 사항】

관련 비디오 튜토리얼 권장 사항: 변수 할당: 값 전달 및 참조 전달의 차이점

위 내용은 PHP 변수 할당: 값 전달과 참조 전달의 차이점의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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