首頁 >後端開發 >PHP問題 >php中雙$符是什麼意思

php中雙$符是什麼意思

青灯夜游
青灯夜游原創
2022-03-10 15:46:593313瀏覽

雙$符指的是“可變變量”,是PHP中的一種獨特的變量,就是一個變量以另外一個變量的值作為變量名,語法“$$變量名”;使用可變變數可以動態的設定和使用一個變數的變數名。

php中雙$符是什麼意思

本教學操作環境:windows7系統、PHP7.1版、DELL G3電腦

雙$符指的是“可變變量”,是PHP中的一種獨特的變量,他允許動態改變一個變量的名稱。

所謂可變變數就是一個變數以另一個變數的值作為變數名稱。

一個可變變數取得了一個普通變數的值作為這個可變變數的變數名稱。利用這項特性我們可以動態的設定和使用一個變數的變數名。

例如,我們可以設定$str的值:

$name = 'str';

於是,我們就可以用

name 取代$str

name = 5;

這個程式碼等價於:

##$str= 5;

可變變數的使用方法

只需要在變數名稱前加上至少兩個「$」符號即可

陣列使用可變變數

為了使用陣列的可變變數名,你需要解決一個歧義問題。就是,如果你寫

$$a[1],解析器需要明白究竟你的意思是要把$a[1]當成一個變量,還是要把 $$a當成變數、[1]指的是這個變數的索引。解決這個歧義問題的語法是:第一種情況使用${$a[1]},第二種情況使用${$a}[1]

#類別屬性也可以透過可變屬性名稱來存取。可變屬性名從產生呼叫所在的變數的存取範圍內取得。例如,如果你的表達式是這樣的:

$foo->$bar,那麼運行時將會在本地變數範圍內尋找變數$bar,它的值將會做為$foo物件的一個屬性名。如果$bar是個陣列也可以使用。

可變變數名稱不能用於PHP函數和類別裡的超級全域數組變數。變數$this也是一個不能動態取名的特殊變數。

實例

下面的實例使用可變變數改變變數的名稱。程式碼如下:

<?php
header("content-type:text/html;charset=utf-8");                //设置编码
$str=&#39;trans&#39;;                                                  //声明变量$str
$trans=&#39;PHP中文网&#39;;                                            //声明变量$trans
echo $str;                                                     //输出变量$str
echo "<br/>";
echo $$str;                                                 //通过可变变量输出$trans的值
?>

實例詳解:

先定義兩個變數$str和$trans,且輸出變數$str的值,然後使用可變變數來改變變數$str的名稱,最後輸出改變名稱後的變數值

運行結果如下:

php中雙$符是什麼意思

#推薦學習:《

PHP影片教學

以上是php中雙$符是什麼意思的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn