溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

php中雙$符使用實(shí)例分析

發(fā)布時(shí)間:2022-03-10 16:27:32 來源:億速云 閱讀:150 作者:iii 欄目:編程語言

這篇文章主要介紹了php中雙$符使用實(shí)例分析的相關(guān)知識(shí),內(nèi)容詳細(xì)易懂,操作簡(jiǎn)單快捷,具有一定借鑒價(jià)值,相信大家閱讀完這篇php中雙$符使用實(shí)例分析文章都會(huì)有所收獲,下面我們一起來看看吧。

雙$符指的是“可變變量”,是PHP中的一種獨(dú)特的變量,就是一個(gè)變量以另外一個(gè)變量的值作為變量名,語法“$$變量名”;使用可變變量可以動(dòng)態(tài)的設(shè)置和使用一個(gè)變量的變量名。

php中雙$符使用實(shí)例分析

本教程操作環(huán)境:windows7系統(tǒng)、PHP7.1版、DELL G3電腦

雙$符指的是“可變變量”,是PHP中的一種獨(dú)特的變量,他允許動(dòng)態(tài)改變一個(gè)變量的名稱。

所謂可變變量就是一個(gè)變量以另外一個(gè)變量的值作為變量名。

一個(gè)可變變量獲取了一個(gè)普通變量的值作為這個(gè)可變變量的變量名。利用這一特性我們可以動(dòng)態(tài)的設(shè)置和使用一個(gè)變量的變量名。

例如,我們可以設(shè)置$str的值:

$name = 'str';

于是,我們就可以用

name 取代$str。

name = 5;

這個(gè)代碼等價(jià)于:

$str= 5;

可變變量的使用方法

只需要在變量名前加上至少兩個(gè)“$”符號(hào)即可

數(shù)組使用可變變量

為了使用數(shù)組的可變變量名,你需要解決一個(gè)歧義問題。就是,如果你寫$$a[1],解析器需要明白究竟你的意思是要把$a[1]當(dāng)成一個(gè)變量,還是要把$$a當(dāng)成變量、[1]指的是這個(gè)變量的索引。解決這個(gè)歧義問題的語法是:第一種情況使用${$a[1]},第二種情況使用${$a}[1]

類屬性也可以通過可變屬性名來訪問??勺儗傩悦麖漠a(chǎn)生調(diào)用所在的變量的訪問范圍內(nèi)獲取。例如,如果你的表達(dá)式是這樣的:$foo->$bar,那么運(yùn)行時(shí)將會(huì)在本地變量范圍內(nèi)尋找變量$bar,它的值將會(huì)做為$foo對(duì)象的一個(gè)屬性名。如果$bar是個(gè)數(shù)組也可以使用。

可變變量名不能用于PHP函數(shù)和類里的超級(jí)全局?jǐn)?shù)組變量上。變量$this也是一個(gè)不能動(dòng)態(tài)取名的特殊變量。

實(shí)例

下面的實(shí)例使用可變變量改變變量的名稱。代碼如下:

<?php
header("content-type:text/html;charset=utf-8");                //設(shè)置編碼
$str='trans';                                                  //聲明變量$str
$trans='億速云';                                            //聲明變量$trans
echo $str;                                                     //輸出變量$str
echo "<br/>";
echo $$str;                                                 //通過可變變量輸出$trans的值
?>

實(shí)例詳解:

首先定義兩個(gè)變量$str和$trans,并且輸出變量$str的值,然后使用可變變量來改變變量$str的名稱,最后輸出改變名稱后的變量值

關(guān)于“php中雙$符使用實(shí)例分析”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對(duì)“php中雙$符使用實(shí)例分析”知識(shí)都有一定的了解,大家如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

php
AI