PHP $和$$變數


$var(一個美元)是一個正常變數,名稱為:var,儲存任何值,如:string,integer,float等。

$$var(兩個美元)是一個參照變數,用於儲存$var的值。

為了更好地理解$$$之間的區別,下面來看看一些例子。

範例1

file: example1.php

<?php  
    $x = "abc";  
    $$x = 200;  
    echo $x."<br/>";  
    echo $$x."<br/>";  
    echo $abc;  
?>

輸出結果如下:

在上面的例子中,我們為變數x賦值為:」abc「。參照變數$$x的值分配為200
現在我們列印出變數:$x$$x$abc。由此可以看出:$$x$abc的值是相同的,即:因為 $x的值為」abc「,所以 $$x(${$x})計算後為$abc

範例2

file: example2.php

<?php  
    $x="U.P";  
    $$x="Lucknow";  
    echo $x. "<br>";  
    echo $$x. "<br>";  
    echo "Capital of $x is " . $$x;  
?>

輸出結果如下:

在上面的例子中,我們為變數x賦值一個值:」U.P「 , 參照變數$$x的值被指定為Lucknow

現在我們列印了:$x$$x值和一個字串。

範例3

file: example3.php

<?php  
    $name="Cat";  
    ${$name}="Dog";  // => $Cat = "Dog"
    ${${$name}}="Monkey";  // => $Cat = "Monkey"
    echo $name. "<br>";  
    echo ${$name}. "<br>";  
    echo $Cat. "<br>";  
    echo ${${$name}}. "<br>";  
    echo $Dog. "<br>";  
?>

輸出結果如下:

在上面的例子中,我們為變數:Cat指定了一個值。 參照變數${$name}分配一個值:」Dog「, ${${$name}}分配一個值:」Monkey「 。

現在我們將列印 $name${$name}$Cat${${$name}}$Dog的值。