在我们学习中,很多人可能都不知道引用赋值和传值赋值是什么。只知道一个大概的意思,包括我在内。Php中的引用赋值和传值赋值有什么区别,引用的场景,今天将重新学习
php传值赋值
php传值赋值:将变量的值复制出一份新的值(值是一样的),只是在内存中出现两份不同的内存空间。将新值内存空间地址赋值给新的变量名字。修改两个变量的值时还不影响
代码:
<?php
$var1=10;
$var2=$var1;//将变量的值复制出一份新的值,它们两个的内存地址不相同
?>
php引用赋值
引用赋值:是将变量的引用复制出来一份。指向原来的内存地址,当变量时引用时,unset()只会取消引用,不会销毁内存空间
简单的来说:引用意味着用不同的名字访问同一个变量的内容;
代码:
<?php
$var1=10;
$var2=&$var1;//将var1变量的引用赋给var2同,两个变量的内存地址都是一样的
unset($var2);.//取消引用,内存地址还在
echo $var;//等于10
?>
&赋值的时候,视为一个变量定义了一个别名,增加了一个对内存空间的引用。改变其中一个,会影响其他的引用。而使用unset()时,只是断开了对变量内存空间的引用,内存空间不会释放。
php中的引用赋值和传值赋值,它们常用的场景。
- 可以将一个变量bai通过引用传递给函数,du这样zhi该函数就可以修改其参数的值dao;
- 用引用传递变量。这是通过在函数内建立一个本地变量并且该变量在呼叫范围内引用了同一个内容来实现的;
- 大量的数据赋值给变量a,如果b变量使用传值赋值,b变量的就会开辟新的内存地址,占用内存空间。使用引用赋值只是将变量a指向赋值给变量b,没有开辟新的内存空间