任何人都可以告诉我如何将变量作为/传递给值? 我在下面的代码中犯了什么错误,它显示了一个解析错误
$a = &$$b
答案 0 :(得分:2)
虽然可能有点难以理解,但您的代码完全有效且正在执行您希望它执行的操作:
$b = 'test';
$test = 100;
$a = &$$b;
echo $a; // displays 100
您可能会收到错误,因为未设置$ b。
答案 1 :(得分:1)
按值传递是PHP的正常行为。因此,当您撰写$a = $b
时,$b
的值将被分配给$a
。
您撰写的内容是参考作业,声明$a
是对$b
的值所标识的变量的引用(请参阅variable variable)。
答案 2 :(得分:0)
通过价值?
在内部,php总是通过引用传递。只有在分配或更改值时才会分配新内存。
例如:
$a = 5;
$b = $a; // this points to the same memory location as a
$a = 2; // now b still points to the same memory location which has 5, but now $a points to a new location with a value of 2
所以真的没有必要通过引用/值传递。当您需要php将值分配给同一内存位置而不分配新内存时,您只需要添加引用指示符(&)。