使用php通过值传递变量

时间:2010-05-11 14:04:23

标签: php

任何人都可以告诉我如何将变量作为/传递给值? 我在下面的代码中犯了什么错误,它显示了一个解析错误

$a = &$$b

3 个答案:

答案 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将值分配给同一内存位置而不分配新内存时,您只需要添加引用指示符(&)。