借用代碼分析對象在內存中的存儲;代碼如下:
<?php
classPerson{
public$name;
public$age;
}
$a= newPerson();
$a->name = "小明";
$a->age=80;
$b=$a;
$b->age=85;
echo$b->name;
echo$a->age;
?>
輸出結果爲:小明 85
分析如下:(1)$a對應內存地址,假設是0x123,($a和地址存放在棧區,相當於我們查字典時的索引);
(2)通過內存地址的索引,找到堆區。堆區裏面存放着”小明“,”80“等數據
(3)$b= $a,實際上是將$a的內存地址0x123傳給$b,堆區裏的屬性$name,$age不變,也就是不會再重新複製一份。所以,在改變$b->age=85時,$a->age的值也改變了。