php中 $$str 中 "$$" 的詳解
這種寫法稱為可變變量
有時(shí)候使用可變變量名是很方便的。就是說,一個(gè)變量的變量名可以動(dòng)態(tài)的設(shè)置和使用。一個(gè)普通的變量通過聲明來設(shè)置,例如:
<?php $a = "hello"; ?>
一個(gè)可變變量獲取了一個(gè)普通變量的值作為這個(gè)可變變量的變量名。在上面的例子中 hello 使用了兩個(gè)美元符號(hào)($)以后,就可以作為一個(gè)可變變量的變量了。例如:
<?php $$a = "world"; ?>
這時(shí),兩個(gè)變量都被定義了:$a 的內(nèi)容是“hello”并且 $hello 的內(nèi)容是“world”。因此,可以表述為:
<?php
echo "$a ${$a}";
?>
以下寫法更準(zhǔn)確并且會(huì)輸出同樣的結(jié)果:
<?php echo "$a $hello"; ?>
它們都會(huì)輸出:hello world。
要將可變變量用于數(shù)組,必須解決一個(gè)模棱兩可的問題。這就是當(dāng)寫下 $$a[1] 時(shí),解析器需要知道是想要 $a[1] 作為一個(gè)變量呢,還是想要 $$a 作為一個(gè)變量并取出該變量中索引為 [1] 的值。解決此問題的語(yǔ)法是,對(duì)第一種情況用 ${$a[1]},對(duì)第二種情況用 ${$a}[1]。
以上所述就是本文的全部?jī)?nèi)容了,希望大家能夠喜歡。
相關(guān)文章
PHP Session_Regenerate_ID函數(shù)雙釋放內(nèi)存破壞漏洞
PHP Session_Regenerate_ID函數(shù)存在雙釋放內(nèi)容破壞問題,遠(yuǎn)程攻擊者可利用此漏洞對(duì)應(yīng)用程序進(jìn)行拒絕服務(wù)攻擊,可能導(dǎo)致任意指令執(zhí)行。2011-01-01
PHP設(shè)計(jì)模式之裝飾者模式代碼實(shí)例
這篇文章主要介紹了PHP設(shè)計(jì)模式之裝飾者模式代碼實(shí)例,裝飾者模式就是不修改原類代碼和繼承的情況下動(dòng)態(tài)擴(kuò)展類的功能,本文就給出了代碼實(shí)例,需要的朋友可以參考下2015-05-05
PHP5.3連接Oracle客戶端及PDO_OCI模塊的安裝方法
這篇文章主要介紹了PHP5.3連接Oracle客戶端及PDO_OCI模塊的安裝方法,結(jié)合實(shí)例形式詳細(xì)分析了php5.3環(huán)境下PDO_OCI模塊的安裝方法,并給出了連接Oracle測(cè)試程序,需要的朋友可以參考下2016-05-05
thinkphp在低版本Nginx 下支持PATHINFO的方法分享
本文給大家分享的是如何讓thinkPHP在低版本的Nginx下支持PATHINFO去掉index.php路徑的方法,十分的簡(jiǎn)單實(shí)用,思路也很巧妙,有需要的小伙伴可以參考下2016-05-05
PHP 雜談《重構(gòu)-改善既有代碼的設(shè)計(jì)》之二 對(duì)象之間搬移特性
承接上文PHP 雜談《重構(gòu)-改善既有代碼的設(shè)計(jì)》之 重新組織你的函數(shù) ,繼續(xù)說重構(gòu)方面的內(nèi)容2012-04-04

