The double $ symbol refers to "variable variable", which is a unique variable in PHP. It means that one variable uses the value of another variable as the variable name. The syntax is "$$ variable name"; use Mutable variables can dynamically set and use the variable name of a variable.
The operating environment of this tutorial: windows7 system, PHP7.1 version, DELL G3 computer
The double $ symbol refers to " "Variable variable" is a unique variable in PHP that allows the name of a variable to be dynamically changed.
The so-called variable variable is a variable that uses the value of another variable as the variable name.
A variable variable obtains the value of an ordinary variable as the variable name of the variable variable. Using this feature we can dynamically set and use the variable name of a variable.
For example, we can set the value of $str:
$name = 'str';
So, we can use
name
replaces $str
.
name = 5;
This code is equivalent to:
$str= 5;
How to use variable variables
You only need to add at least two "$" symbols before the variable name
Using variable variables in arrays
In order to use mutable variable names for arrays, you need to resolve an ambiguity problem. That is, if you write $$a[1]
, the parser needs to understand whether you mean to treat $a[1]
as a variable, or to treat $$a
is treated as a variable, [1]
refers to the index of this variable. The syntax to resolve this ambiguity is: use ${$a[1]}
in the first case, and ${$a}[1]
Class properties can also be accessed through variable property names. Variable property names are taken from the access scope of the variable in which the call was made. For example, if your expression is like this: $foo->$bar
, then the runtime will look for the variable $bar
in the local variable scope, and its value will be Will be used as a property name of the $foo
object. It can also be used if $bar
is an array.
Variable variable names cannot be used for super global array variables in PHP functions and classes. The variable $this is also a special variable that cannot be dynamically named.
Example
The following example uses a mutable variable to change the name of the variable. The code is as follows:
<?php header("content-type:text/html;charset=utf-8"); //设置编码 $str='trans'; //声明变量$str $trans='PHP中文网'; //声明变量$trans echo $str; //输出变量$str echo "<br/>"; echo $$str; //通过可变变量输出$trans的值 ?>
Detailed explanation of the example:
First define two variables $str and $trans, and output the value of variable $str, and then use a variable variable to change the name of variable $str , and finally output the variable value after changing the name
The running results are as follows:
Recommended learning: "PHP Video Tutorial"
The above is the detailed content of What does the double $ sign mean in php. For more information, please follow other related articles on the PHP Chinese website!