本文實例分析了php對象在內存中的存在形式。分享給大家供大家參考。具體分析如下:
<?php class Person{ public $name; public $age; } $p1 = new Person(); $p1->name = "小明"; $p1->age=80; $p2=$p1; $p2->age=85; echo $p2->name; echo $p1->age; ?>
(1)$p1對應內存地址,假設是0x123,($p1和地址存放在棧區,相當於我們查字典時的索引);
(2)通過內存地址的索引,找到堆區。堆區裡面存放著”小王“,”80“等數據
(3)$p2 = $p1,實際上是將$p1的內存地址0x123傳給$p2,堆區裡的屬性$name,$age不變,也就是不會再重新復制一份。所以,在改變$p2->age=85時,$p1->age的值也改變了。
希望本文所述對大家的php程序設計有所幫助。