php之可變變量的實(shí)例詳解
php之可變變量的實(shí)例詳解
前言:
最近在技術(shù)博客網(wǎng)站上偶然間瀏覽到一個(gè)新名詞:"php的可變變量";然后就在網(wǎng)上查了下了解下,覺得用的還挺方便的,下面都是從網(wǎng)上代碼copy到我本地環(huán)境運(yùn)行后算是"拿來主義!"
php手冊(cè)上這樣說:
有時(shí)候使用可變變量名是很方便的。就是說,一個(gè)變量的變量名可以動(dòng)態(tài)的設(shè)置和使用。一個(gè)普通的變量通過聲明來設(shè)置,例如:
$a = 'hello';
$$a = 'world';
echo "$a ${$a}";
echo "$a $hello";
它們都會(huì)輸出:hello world。
要將可變變量用于數(shù)組,必須解決一個(gè)模棱兩可的問題。這就是當(dāng)寫下 $$a[1] 時(shí),解析器需要知道是想要 $a[1] 作為一個(gè)變量呢,還是想要$$a 作為一個(gè)變量并取出該變量中索引為 [1] 的值。解決此問題的語法是,對(duì)第一種情況用 ${$a[1]},對(duì)第二種情況用 ${$a}[1]。
類的屬性也可以通過可變屬性名來訪問。可變屬性名將在該調(diào)用所處的范圍內(nèi)被解析。例如,對(duì)于 $foo->$bar 表達(dá)式,則會(huì)在本地范圍來解析$bar 并且其值將被用于 $foo 的屬性名。對(duì)于 $bar 是數(shù)組單元時(shí)也是一樣。也可使用花括號(hào)來給屬性名清晰定界。
看到這里還是云里霧里的,再看,在日常html的<form ...>POST過來很多變量需要處理的,一般的我們會(huì)這樣處理:
$id = $_POST['id']; $name = $_POST['name']; $sex = $_POST['sex']; echo "<p>Your order is as follows:</p>"; echo "<br />\$id=".$id; echo "<br />\$name=".$name; echo "<br />\$sex=".$sex;
但是現(xiàn)在問題來了,如果POST過來很多變量我們豈不累死啦!那現(xiàn)在可變變量的用處來啦,我們這樣寫:
$array = array();
foreach ($_POST as $key => $value) {
$array[$$key] = $value;
}
echo '<pre>'; // 換行
print_r($array);
// 是不是很方便的呢?。?
再來一個(gè)例子:
有class A和class B以及class C,他們都有自己的函數(shù)還是前端傳值,這次是兩個(gè)一個(gè)class,一個(gè)function同樣的
$class=$_GET['class']; $func=$_GET['func']; $obj=new $class(); $obj->$func();
這是做單入口模式的思路!
如有疑問請(qǐng)留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
相關(guān)文章
封裝ThinkPHP的一個(gè)文件上傳方法實(shí)例
這篇文章主要介紹了封裝ThinkPHP的一個(gè)文件上傳方法,以實(shí)例的形式詳細(xì)講述了文件上傳類的實(shí)現(xiàn)以及具體功能講解,非常實(shí)用,需要的朋友可以參考下2014-10-10
php array_pop 刪除數(shù)組最后一個(gè)元素實(shí)例
這篇文章主要介紹了php array_pop 刪除數(shù)組最后一個(gè)元素實(shí)例的相關(guān)資料,需要的朋友可以參考下2016-11-11
PHP中strlen()和mb_strlen()的區(qū)別淺析
這篇文章主要介紹了PHP中strlen()和mb_strlen()的區(qū)別淺析,本文探討的中英混合的字符在使用這個(gè)函數(shù)時(shí)的區(qū)別,需要的朋友可以參考下2014-06-06
laravel 解決強(qiáng)制跳轉(zhuǎn) https的問題
今天小編就為大家分享一篇laravel 解決強(qiáng)制跳轉(zhuǎn) https的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-10-10
destoon實(shí)現(xiàn)會(huì)員商鋪中指定會(huì)員或會(huì)員組投放廣告的方法
這篇文章主要介紹了destoon實(shí)現(xiàn)會(huì)員商鋪中指定會(huì)員或會(huì)員組投放廣告的方法,很實(shí)用的技巧,需要的朋友可以參考下2014-08-08
yii實(shí)現(xiàn)CheckBox復(fù)選框在同一行顯示的方法
這篇文章主要介紹了yii實(shí)現(xiàn)CheckBox復(fù)選框在同一行顯示的方法,對(duì)比了網(wǎng)上搜集的方法,給出了改進(jìn)的意見,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2014-12-12
php小型企業(yè)庫存管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)代碼
雙專業(yè)畢業(yè)論文做了一個(gè)小型企業(yè)庫存管理系統(tǒng),使用PHP&mysql組合進(jìn)行開發(fā)。頭一次開發(fā)稍微大一點(diǎn)的東西,php也是自學(xué)的2011-05-05

