国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

PHP5 的對象賦值機制介紹

2024-05-04 23:17:23
字體:
來源:轉載
供稿:網友

復制代碼 代碼如下:


<?php
class SimpleClass{
public $var = 'a default value';
public function displayVar() {
echo $this->var;
}
}
$instance = new SimpleClass();
$assigned = $instance;
$reference =& $instance;
$instance->var = '$assigned will have this value';
$instance = null; // $instance and $reference become null var_dump($instance);var_dump($reference);var_dump($assigned);
var_dump($instance);
var_dump($assigned);
var_dump($reference);
?>


php5 改寫了OOP底層。當類生成一個實例(對象)的時候,返回值$instance并不是對象本身,而只是對象的一個id(或者資源句柄),所以,當$instance被賦值給$assigned的時候,$assigned也指向了這個對象,這有點像普通變量的引用(&)操作。所以,當對$instance初始化的時候,$assigned也被初始化了。但是,當$instance被銷毀(=null)的時候,因為對應的對象還有一個句柄存在($assigned),所以對象并不會被銷毀,析構函數也不會被觸發。結果,var_dump($assigned)是對象的值,而$instance已經是空句柄,顯示null。$reference因為與$instance有類似普通變量間的引用關系,所以也成為空句柄,顯示 null。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 太康县| 巴塘县| 乃东县| 山阳县| 祁东县| 茌平县| 商南县| 满洲里市| 普格县| 栾城县| 调兵山市| 台东市| 喜德县| 灌阳县| 仙游县| 岢岚县| 峨边| 若尔盖县| 枞阳县| 长寿区| 乡宁县| 新宁县| 靖边县| 长海县| 柘城县| 左贡县| 科尔| 旬阳县| 班戈县| 十堰市| 祁东县| 灵宝市| 长丰县| 海安县| 囊谦县| 鹿邑县| 江门市| 容城县| 双辽市| 樟树市| 南澳县|