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

$b = $a; $b['child'] = $a; $b['child']['str'] = 2; echo $b['str']; $b = null " /> 日本超A大片在线观看,国产欧美一区二区精品仙草咪,欧美最猛性xxxxx亚洲精品

天天躁日日躁狠狠躁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變量內存分配問題記錄整理,轉載需保留來源!

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

主站蜘蛛池模板: 成人国内精品久久久久影院 | 成年私人影院网站在线看 | 午夜伦伦电影理论片费看 | 在线观看免费av网站 | 久久国产高清字幕中文 | 丰满艳妇亲伦 | 国内精品伊人久久久久 | 91嫩草国产在线观看免费 | 国产精品色无码AV在线观看 | 亚州三级久久电影 | 午夜福到在线2019 | 免费人成在线观看网站视频 | 国产精品久人妻精品 | 内射爽无广熟女亚洲 | 在线高清视频不卡无码 | 制服国产欧美亚洲日韩 | 果冻传媒9CM在线观看 | 国产日韩精品一区二区三区在线 | 漂亮美女2018完整版 | 扒开女生尿口 | 无套内谢大学生A片 | 日本午夜福利无码高清 | 一边吃奶一边啪啪真舒服 | 免费一级特黄欧美大片久久网 | 男人插曲视频大全免费网站 | 国产精品女上位在线观看 | 成人在线视频国产 | 5278欧美一区二区三区 | 亚洲av欧美在我 | 色噜噜狠狠色综合中文字幕 | 国产久久精品热99看 | 亚洲欧美日韩国产手机在线 | 亚洲中文字幕乱码熟女在线 | 少妇无码吹潮久久精品AV | 免费视频久久只有精品 | 美女张开腿露尿口给男人亲 | 欧美日韩中文在线字幕视频 | 最近中文字幕MV高清在线 | 亚洲中文字幕乱码熟女在线 | 2020最新国产自产精品 | 国产午夜精品理论片影院 |