PHP变量赋值,你真的彻底掌握了其中的所有细节吗?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1185个文字,预计阅读时间需要5分钟。
PHP变量的赋值是编程基础,很多人可能不太重视。但变量赋值是至关重要的。例如,值与引用的关系就是基础中的难点。
这个标题估计很多人会不屑一顾,变量赋值?excuse me?我们学开发的第一课就会了好不好。但是,就是这样基础的东西,反而会让很多人蒙圈,比如,值和引用的关系。今天,我们就来具体讲讲。
首先,定义变量和赋值这个不用多说了吧
$a = 1; $b = '2'; $c = [4, 5, 6]; $d = new stdClass();
四个变量,分别定义了整型、字符串、数组的对象。这也是我们天天要打交道的四种类型。
然后,变量给变量赋值。
$a1 = $a; $b1 = $b; $c1 = $c; $d1 = $d;
请注意,前三个的赋值都是正常的赋值,也就是对具体内容的拷贝。当我们修改$a1的时候$a不会有变化。$a1是新开的内存空间保存了我们的值。也就是说,他们的值是一样的,但内存地址不一样。是两个没啥关系的长得很像的人而已。
但是$d1和$d就不是了,这两货不仅值是一样的,内存地址也是一样的。这种情况就是我们所说的引用赋值。当$d1发生变化时,$d2也会产生变化。
可以这么说:引用赋值就是为原变量建立了一个Windows下的快捷方式或者Linux中的软链接。
本文共计1185个文字,预计阅读时间需要5分钟。
PHP变量的赋值是编程基础,很多人可能不太重视。但变量赋值是至关重要的。例如,值与引用的关系就是基础中的难点。
这个标题估计很多人会不屑一顾,变量赋值?excuse me?我们学开发的第一课就会了好不好。但是,就是这样基础的东西,反而会让很多人蒙圈,比如,值和引用的关系。今天,我们就来具体讲讲。
首先,定义变量和赋值这个不用多说了吧
$a = 1; $b = '2'; $c = [4, 5, 6]; $d = new stdClass();
四个变量,分别定义了整型、字符串、数组的对象。这也是我们天天要打交道的四种类型。
然后,变量给变量赋值。
$a1 = $a; $b1 = $b; $c1 = $c; $d1 = $d;
请注意,前三个的赋值都是正常的赋值,也就是对具体内容的拷贝。当我们修改$a1的时候$a不会有变化。$a1是新开的内存空间保存了我们的值。也就是说,他们的值是一样的,但内存地址不一样。是两个没啥关系的长得很像的人而已。
但是$d1和$d就不是了,这两货不仅值是一样的,内存地址也是一样的。这种情况就是我们所说的引用赋值。当$d1发生变化时,$d2也会产生变化。
可以这么说:引用赋值就是为原变量建立了一个Windows下的快捷方式或者Linux中的软链接。

