关于php变量的赋值和引用的区别


刚开始学习php,发现有些地方和js语法不同,所以记录下来。

这篇文章是总结php中变量赋值和引用的区别。

我们知道,js中,原始类型的赋值,是将值直接复制给变量;引用类型的赋值,是将内存地址复制给变量。至于这两者的区别,我就不讲了。

这里,我只总结哪些是直接赋值,哪些是复制的内存地址。

1、原始类型 -- 直接赋值

$name1 = 'sky'; $name2 = $name1; $name2 = 'fly'; echo $name1.' '.$name2;     //sky fly

 

2、数组array -- 直接赋值

$arr1 = array(0, 1, 2, 3); $arr2 = $arr1; $arr2[0] = 6; echo $arr1[0].' '.$arr2[0]; //0 6

 

3、class类 -- 内存地址

class Person{ public $name = 'sky'; public $age = 14; } $person1 = new Person(); $person2 = $person1; $person2->name = 'moon'; echo $person1->name.' '.$person2->name;    //moon moon

 

然后,php中规定,使用“&”符号,可以将普通赋值改成内存地址,看下面代码

$name1 = 'sky'; $name2 = &$name1;  //&符号的使用 $name2 = 'fly'; echo $name1.' '.$name2;     //fly fly

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM