色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

PHP5 的對象賦值機制介紹

復(fù)制代碼 代碼如下:
<?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底層。當(dāng)類生成一個實例(對象)的時候,返回值$instance并不是對象本身,而只是對象的一個id(或者資源句柄),所以,當(dāng)$instance被賦值給$assigned的時候,$assigned也指向了這個對象,這有點像普通變量的引用(&)操作。所以,當(dāng)對$instance初始化的時候,$assigned也被初始化了。但是,當(dāng)$instance被銷毀(=null)的時候,因為對應(yīng)的對象還有一個句柄存在($assigned),所以對象并不會被銷毀,析構(gòu)函數(shù)也不會被觸發(fā)。結(jié)果,var_dump($assigned)是對象的值,而$instance已經(jīng)是空句柄,顯示null。$reference因為與$instance有類似普通變量間的引用關(guān)系,所以也成為空句柄,顯示 null。

php技術(shù)PHP5 的對象賦值機制介紹,轉(zhuǎn)載需保留來源!

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

主站蜘蛛池模板: 台东县| 哈尔滨市| 政和县| 广河县| 太仆寺旗| 安阳县| 绩溪县| 鸡泽县| 紫阳县| 黔南| 陈巴尔虎旗| 伊通| 河北区| 龙游县| 大渡口区| 历史| 榆树市| 宝兴县| 阿拉尔市| 治县。| 交城县| 吕梁市| 彝良县| 社旗县| 崇阳县| 万荣县| 巩留县| 大兴区| 江门市| 丽江市| 磴口县| 城固县| 达拉特旗| 隆昌县| 古交市| 平陆县| 迁西县| 凉城县| 嵩明县| 平阳县| 安远县|