真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

PHP中變量的值類型與引用類型是什么-創(chuàng)新互聯(lián)

這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)PHP中變量的值類型與引用類型是什么,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

成都創(chuàng)新互聯(lián)是網(wǎng)站建設(shè)技術(shù)企業(yè),為成都企業(yè)提供專業(yè)的網(wǎng)站設(shè)計制作、成都網(wǎng)站設(shè)計,網(wǎng)站設(shè)計,網(wǎng)站制作,網(wǎng)站改版等技術(shù)服務(wù)。擁有10多年豐富建站經(jīng)驗和眾多成功案例,為您定制適合企業(yè)的網(wǎng)站。10多年品質(zhì),值得信賴!

在PHP中,大部分變量類型,如字符串,整型,浮點,數(shù)組等都是值類型的,而類和對象是引用類型,在使用的時候,需要注意這一點。

看到網(wǎng)友在討論PHP的&符號,要徹底理解它的用法,就有必要討論一下變量的兩種形式。

PHP的變量在內(nèi)存中是這樣存儲的,變量保存的并不直接是值的內(nèi)容,而是地址。例如:

$a = 1;

我們看起來,似乎變量$a直接存儲了 1 這個值。而實際情況是,PHP解釋器創(chuàng)建了變量$a,將值:1 存入內(nèi)存中的某個地方,再將值的地址存到變量$a中。

需要取值時,先找到變量$a中的地址,再根據(jù)地址找到變量的值。

往下看:

echo $a;

會輸出1,PHP解釋器會這樣完成這一樣代碼:找到$a中存儲的地址,根據(jù)地址找到存在內(nèi)存某個地方的值,輸出到屏幕。

看似一行簡單的代碼,流程卻是這樣的。

再往下看:

$a = 1;
$b = &$a;

這里的變量$b 做了一個有趣的操作,&符號取出了$a變量中存儲的地址,并存儲到$b變量。

那么,如果使用下面代碼:

echo $b;

結(jié)果也將是輸出1,PHP解釋器先取出$b中存儲的地址,再根據(jù)地址找到值。如果我們做下面的操作:

$a = 2;
echo $b; //輸出2

會發(fā)現(xiàn)改變$a的值,$b也跟著變了。其實反過來,改變$b的值,$a的值也會跟這變。

到這一步,我們可以確定,變量$a和$b存儲了相同的地址,指向的值是一樣的。

那么,我們可以得出結(jié)論:它們表示的是同一個變量。

進一步總結(jié),可以得出:如果兩個變量存儲了相同的地址,它們就是同一個變量。

了解了著一些內(nèi)容,我們開始介紹值類型和引用類型。

我們先看下面的代碼:

$a = 1;
$b = $a;
$a = 2;
echo $b; //輸出 1

將$a的值賦給$b,改變$a的值后,$b的值依然不變,也就是說$a和$b是兩個不同的變量,指向不同的地址。這種賦值時會創(chuàng)建不同的變量的形式我們稱之為值類型。

再看:

class User{
 public $name = ‘Tome‘;
}
$a = new User;
$b = $a;
$a->name = ‘Jim‘;
echo $b->name; //輸出 Jim

同樣將$a的值賦給$b,改變$a后,$b也跟著變了,也就是說$a和$b是同一個變量,指向相同的地址。這種賦值時不會創(chuàng)建新的變量的形式我們稱之為引用類型。

上述就是小編為大家分享的PHP中變量的值類型與引用類型是什么了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


當(dāng)前題目:PHP中變量的值類型與引用類型是什么-創(chuàng)新互聯(lián)
標(biāo)題URL:http://weahome.cn/article/djjojh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部