您好,登錄后才能下訂單哦!
如何在php中實(shí)現(xiàn)一個可變變量?針對這個問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
php是一個嵌套的縮寫名稱,是英文超級文本預(yù)處理語言,它的語法混合了C、Java、Perl以及php自創(chuàng)新的語法,主要用來做網(wǎng)站開發(fā),許多小型網(wǎng)站都用php開發(fā),因?yàn)閜hp是開源的,從而使得php經(jīng)久不衰。
例如:
$a = 'hello'; $$a = 'world'; echo "$a ${$a}"; echo "$a $hello";
它們都會輸出:hello world。
要將可變變量用于數(shù)組,必須解決一個模棱兩可的問題。這就是當(dāng)寫下 $$a[1] 時,解析器需要知道是想要 $a[1] 作為一個變量呢,還是想要$$a 作為一個變量并取出該變量中索引為 [1] 的值。解決此問題的語法是,對第一種情況用 ${$a[1]},對第二種情況用 ${$a}[1]。
類的屬性也可以通過可變屬性名來訪問??勺儗傩悦麑⒃谠撜{(diào)用所處的范圍內(nèi)被解析。例如,對于 $foo->$bar 表達(dá)式,則會在本地范圍來解析$bar 并且其值將被用于 $foo 的屬性名。對于 $bar 是數(shù)組單元時也是一樣。也可使用花括號來給屬性名清晰定界。
看到這里還是云里霧里的,再看,在日常html的<form ...>POST過來很多變量需要處理的,一般的我們會這樣處理:
$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); // 是不是很方便的呢?。?/pre>再來一個例子:
有class A和class B以及class C,他們都有自己的函數(shù)還是前端傳值,這次是兩個一個class,一個function同樣的
$class=$_GET['class']; $func=$_GET['func']; $obj=new $class(); $obj->$func();關(guān)于如何在php中實(shí)現(xiàn)一個可變變量問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。