深入理解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是相同的变量,指向同一个地址。