PHP变量内存分配问题的记录与排序

今天,有一个关于PHP变量内存分配的问题,并记录它。

下面的代码如下所示:
复制代码代码如下所示:
$ =数组(
1,
子= 2
);

美元=美元;
$ { } = $'';
$ {'孩子'} { } = 2 'str;
回声$ { 'str};
$ = null;
一'str'} { echo;

会有什么样的输出,结果是11美元,当B = $其实并不是一个新的内存分配,AB是同一区域,指向} = {'$ B $,$会复制一份原美元的内容,然后修改,即说B和美元美元指的是不同的区域,然后修改为将当A或B美元的相互影响。

再看一遍这个代码。
复制代码代码如下所示:
班上的一个
{
公共$=;
公立儿童;
}

美元=新的A();
美元=美元;
$ a = STR = 1;
$ = >子= 2;
$;
$>子> > = 2;
回声$ B - STR;
$ = null;
回声$;

它将输出什么结果是22。根据实际情况,当判断$ =子$ a时,没有像数组那样的拷贝。AB和A都指向同一个区域,这样其他任何一个区域都会被改变。

但是为什么PHP是这样设计的呢。