深入理解PHP变量的值类型和引用类型

在PHP中,大多数变量类型,如字符串、整数、浮点、数组等都是值类型,而类和对象是引用类型,在使用时应该注意这些类型。

当你看到用户谈论PHP的符号并透彻地理解它的用法时,有必要讨论变量的两种形式。

PHP的变量存储在内存中,而变量不是直接由值的内容保存的,而是地址:


$ = 1;


我们看起来好像变量$ A直接存储了1的值。实际上,PHP解释器创建一个变量$ A,它将一个值放在内存中的1,然后在变量$中的值地址。

当需要值时,首先发现变量$ A中的地址,然后通过地址找到变量的值。

往下看:


回声$;


它将输出1,PHP解释器将执行此操作。相同的代码:找到存储在$中的地址,定位内存的位置,并将其输出到屏幕上。

它看起来像一行简单的代码,这就是过程。

再往下看:


$ = 1;
美元=美元;


这里的变量B做了一个有趣的操作,它将存储在$变量中的地址存储在$ B变量中。

然后,如果您使用以下代码:


回声$;


结果也将是输出1,PHP解释器首先将地址存储在$ B中,然后根据地址查找值:


$ = 2;
2


您会发现$ A的值和B的值发生了变化。事实上,它改变了B的值,而a的值会随着它的变化而变化。

在这一步中,我们可以确保变量$ A和$ B存储相同的地址,并且所指向的值是相同的。

因此,我们可以得出这样的结论:它们代表同一个变量。

进一步总结,可以得出结论,如果两个变量存储相同的地址,则它们是相同的变量。

学习了一些内容之后,我们开始介绍值类型和引用类型。

让我们看看下面的代码:


$ = 1;
美元=美元;
$ = 2;
1


a的值是$,当$的值被改变时,B的值仍然是相同的,也就是说,$和B是两个不同的变量,指向不同的地址,这个赋值将创建不同类型的变量,我们称之为值类型。

再看看。


类用户{
公共名称=时间;
}
$ =新用户;
美元=美元;
$ =name=吉姆;
吉姆的输出;


类似地,a $的值被提供给b,当$ A被改变时,$ b被改变,也就是说,$和B是相同的变量,指向同一个地址。