- 相關(guān)推薦
PHP的可變變量的應(yīng)用
導(dǎo)語(yǔ):有時(shí)候可變的變量名會(huì)給編程帶來(lái)很大的方便。也就是說(shuō)變量名可以被動(dòng)態(tài)的命名和使用。下面的是百分網(wǎng)小編為大家搜集的PHP的可變變量的應(yīng)用,供大家參考。通常變量通過(guò)下面這樣的語(yǔ)句來(lái)命名 :
<?php$a = 'hello';?>
可變變量名指的是使用一個(gè)變量的值作為這個(gè)變量的名稱。在上面的例子中,通過(guò)使用兩個(gè)$符號(hào),你可以把hello設(shè)置成一個(gè)變量的名稱,就像下面那樣。
<?php$$a = 'world';?>
通過(guò)上面的兩個(gè)語(yǔ)句,有兩個(gè)變量被定義:變量$a,裝的內(nèi)容是”hello” 以及變量$hello,裝的內(nèi)容是 “world”。 于是,下面的語(yǔ)言:
<?phpecho "$a ${$a}";?>
跟下面的語(yǔ)句的輸出完全一致:
<?phpecho "$a $hello";?>
它們都輸出:hello world。為了使用數(shù)組的可變變量名,你需要解決一個(gè)歧義問(wèn)題。就是,如果你寫(xiě)$$a[1],解析器需要明白究竟你的意思是要把$a[1]當(dāng)成一個(gè)變量,還是要把$$a當(dāng)成變量、[1]指的是這個(gè)變量的索引。
解決這個(gè)歧義問(wèn)題的語(yǔ)法是:
第一種情況使用${$a[1]},第二種情況使用${$a}[1]。
類屬性也可以通過(guò)可變屬性名來(lái)訪問(wèn)?勺儗傩悦麖漠a(chǎn)生調(diào)用所在的變量的訪問(wèn)范圍內(nèi)獲取。例如,如果你的表達(dá)式是這樣的:$foo->$bar,那么運(yùn)行時(shí)將會(huì)在本地變量范圍內(nèi)尋找變量$bar,它的值將會(huì)做為$foo對(duì)象的一個(gè)屬性名。如果$bar是個(gè)數(shù)組也可以使用。
例1 可變變量名$bar . "n";echo $foo->$baz[1] . "n";?>上面的例子將會(huì)輸出下面的結(jié)果:I am bar.I am bar.
警告請(qǐng)注意,可變變量名不能用于PHP函數(shù)和類里的超級(jí)全局?jǐn)?shù)組變量上。變量$this也是一個(gè)不能動(dòng)態(tài)取名的特殊變量。
【PHP的可變變量的應(yīng)用】相關(guān)文章:
PHP變量介紹02-28
PHP數(shù)據(jù)類型之?dāng)?shù)組變量詳解10-04
PHP中超全局變量$GLOBALS和global的區(qū)別09-05
php發(fā)展和php應(yīng)用為什么比asp強(qiáng)09-30
十個(gè)PHP高級(jí)應(yīng)用技巧07-28
php-smarty模版引擎中的緩存應(yīng)用04-23
php中allow-url-include的應(yīng)用分析07-25
PHP獲取腳本運(yùn)行時(shí)間的應(yīng)用10-18
php正則去掉php注釋07-30