溫馨提示×

溫馨提示×

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

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

如何在php中實(shí)現(xiàn)一個可變變量

發(fā)布時間:2021-03-05 15:20:15 來源:億速云 閱讀:137 作者:Leah 欄目:開發(fā)技術(shù)

如何在php中實(shí)現(xiàn)一個可變變量?針對這個問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

php有什么用

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)知識。

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

免責(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)容。

php
AI