如下這段代碼: 復制代碼 代碼如下: $a = array ( 'str' => 1, 'child' => 2 );

$b = $a; $b['child'] = $a; $b['child']['str'] = 2; echo $b['str']; $b = null " /> 御姐被吸奶,国产精品亚洲精品影院,精品无码一区二区三区不卡

天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

PHP變量內存分配問題記錄整理

今天碰到一個關于php變量內存分配的問題,記錄一下。

如下這段代碼:
復制代碼 代碼如下:
$a = array (
'str' => 1,
'child' => 2
);

$b = $a;
$b['child'] = $a;
$b['child']['str'] = 2;
echo $b['str'];
$b = null;
echo $a['str'];

會輸出什么呢,結果是11,$b=$a的時候其實并沒有新分配內存,ab是指向的同一個區域,$b['child']=$a時,$b會先copy一份原來$a的內容,然后再修改,也就是說這時候$b和$a指向了不同的區域,再修改$a或者$b的時候都不會互相影響了。

再看這段代碼:
復制代碼 代碼如下:
class A
{
public $str = '';
public $child;
}

$a = new A();
$b = $a;
$a->str = 1;
$a->child = 2;
$b->child = $a;
$b->child->str = 2;
echo $b->str;
$b = null;
echo $a->str;

又會輸出什么呢,結果是22,根據實際情況來判斷,$b->child=$a的時候,并沒有像數組那樣,重新copy一份,ab以及a->child都是指向的同一片區域,這樣改任何一個,其余幾個都會被改掉。

可是php為啥要設計成這樣呢。

php技術PHP變量內存分配問題記錄整理,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 国产喷水1区2区3区咪咪爱AV | 大学生第一次破女在线观看 | 欧美丰满熟妇无码XOXOXO | 久久偷拍vs国产在线播放 | 亚洲视频欧美在线专区 | 日日日夜夜在线视频 | 在线 国产 欧美 亚洲 天堂 | 亚洲精品一区三区三区在线观看 | 99视频网址| 国产喷水1区2区3区咪咪爱AV | 九九99热久久精品在线6 | 国产亚洲精品线观看不卡 | 久久成人亚洲 | 暖暖视频 免费 高清 日本8 | 一本道高清码 | 潮 喷女王cytherea | 91国内精品久久久久免费影院 | 全彩acg无翼乌火影忍者 | 三级在线观看网站 | 久久草这在线观看免费 | 久久99国产精品自在自在 | 赤兔CHINESE最新男18GUY | 亚洲欧美一级久久精品 | 麻豆免费观看高清完整视频 | 亚洲国产高清福利视频 | 麻豆国产人妻精品无码AV | 欧美日韩一区不卡在线观看 | 亚洲精品久久久久AV无码 | 国产亚洲精品久久精品录音 | 被强J高H纯肉公交车啊 | 色播成人影院 | 99久久亚洲综合精品 | 久久操热在线视频精品 | 国产小视频国产精品 | 日韩精品免费在线观看 | 欧美色偷偷亚洲天堂bt | 欧美一级做a爰片免费 | 国产精品久久久久久免费字体 | 一级做a爰片久久毛片一 | 国产成在线观看免费视频 | 麻豆蜜桃国语精品无码视频 |