被视为解引用运算符的变量中的美元符号


Is the dollar sign in a variable variable considered the dereference operator?

我正在向某人展示如何在PHP中创建可变变量(我只建议永远不要使用它们,这是可怕的做法,如果你在实际生产代码中使用可变变量,你就是一个坏人),他们问美元符号在这种情况下是否充当解引用运算符。

它实际上并没有创建对其他变量的引用,所以我并不认为它是开发操作,变量变量的文档甚至根本没有提到引用。

谁是对的?我不认为变量变量在创建引用,因此美元符号不是解引用操作符。

下面是一些示例代码,供您愉快地观看(或痛苦地观看):

<?php
$a = 'c';
$b = 'a';
$c = 'hello';
echo($$$b); //hello

是被视为解引用的变量中的美元符号运营商吗?

。PHP没有解引用操作符

变量变量不应该被认为是的解引用,而应该是通过字符串访问符号树。例如:

$bar = 1;
echo ${'bar'};

您可以通过使用变量而不是字符串字面值来动态地执行此操作:

$bar = 1;
$foo = 'bar';
echo ${$foo};

PHP语法允许您删除大括号,但它仍然是通过字符串访问符号表的问题。不涉及引用/解引用

不,它没有de引用任何东西....如果有的话,就是引用存储变量名的引用来引用存储变量名的存储值....类似于双引用或引用.....de-ref意味着一个变量是另一个变量子集的一部分