This way of writing is called a variable variable
Sometimes it is very convenient to use variable variable names. That is, the variable name of a variable can be set and used dynamically. An ordinary variable is set through declaration, for example:
$a = "hello";
?>
A variable variable obtains the value of an ordinary variable as the variable name of the variable variable. In the above example, hello can be used as a variable variable after using two dollar signs ($). For example:
$$a = "world";
?>
At this time, two variables are defined: the content of $a is "hello" and the content of $hello is "world". Therefore, it can be expressed as:
echo "$a ${$a}";
?>
The following way of writing is more accurate and will output the same result:
echo "$a $ hello";
?>
They will all output: hello world.
To use mutable variables with arrays, an ambiguity must be resolved. This is when writing $$a[1], the parser needs to know whether it wants $a[1] as a variable, or whether it wants $$a as a variable and extracts the variable with index [1] value. The syntax to solve this problem is to use ${$a[1]} for the first case and ${$a}[1] for the second case.
The above introduces the explanation of "$$" in $$str in PHP, including the relevant content. I hope it will be helpful to friends who are interested in PHP tutorials.