Rumah  >  Artikel  >  pembangunan bahagian belakang  >  php变量的赋值:值传递和引用传递的区别

php变量的赋值:值传递和引用传递的区别

怪我咯
怪我咯asal
2017-05-04 11:39:483868semak imbas

变量指的就是在程序执行过程中数值可以变化的量,它是用来保存一个值,好方便我们来调用,但是php给变量赋值的方法有两种:值传递和引用传递,这两种给变量赋值的方法是有所不同的,本章,就带领大家了解一下:值传递和引用传递的区别

首先我们先看一下值传递:

值传递的方式给变量赋值,是最常用的方式,也是默认的方式。下面用例子来说明一下:

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

代码运行结果:

02.jpg

从上面的示例中可以看到值传递是将当前变量的值传递给另一个变量,相当于做了一个复制操作,两个变量相互之间是独立的,如果我们改变其中一个变量的值,另一个值是不会有变化的,看下面的例子

<?
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/>";
?>

代码运行结果:

0.jpg

下面我们看一下引用传递

引用赋值使用“&”来表示引用。使用引用赋值如果改变其中一个变量的值,另一个也会发生变化。

示例

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

代码运行结果:

1.jpg

这时两个变量是没有什么变化的,但是如果我们改变其中一个值呢?

<?
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/>";
?>

代码运行结果:

7.jpg

使用引用传递的方式给变量赋值,如果改变其中一个变量的值,另一个变量也会发生变化。

总结

通过上面的一些实例我们可以总结出值传递和引用传递的区别在于:值传递是将原变量内容复制下来,再用一个新的内存空间来保存,两个变量之间相互独立,而引用传递相当于给当前变量起了一个别名,实际上这两个变量引用的是一个值。相当于给一个变量起了两个名字

【相关推荐】

相关视频教程推荐:变量的赋值:值传递与引用传递的区别

Atas ialah kandungan terperinci php变量的赋值:值传递和引用传递的区别. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn