变量如何与参考不同?

时间:2016-10-15 15:31:31

标签: php

什么是变量?

什么是参考?

变量与参考的差异如何?

例如,我们有下一个代码:

$a = 10;
$b = &$a;
$b = 100;
echo "\$a = ",$a,"\n\$b = ",$b;

此代码中的内容是参考,变量以及为什么?

请不要写信给我,"阅读手册"。我阅读了手册,如果我在那里得到答案,我就不会在这里提出问题了

2 个答案:

答案 0 :(得分:3)

一般

在编程中,变量或标量是存储位置关联的符号名称(标识符)配对,其中包含一些已知或未知的信息量作为一种价值。

引用是一个值,使程序能够间接访问计算机内存或其他存储中的特定数据,如变量或记录设备。据说该引用是指数据,访问数据称为解除引用引用。

在PHP中(根据您的要求)

$a = 10;
$b = &$a;
echo $b;

导致:

10

$ a是变量$ b是对$ a变量的引用,意味着$ a和$ b它们都在内存中访问相同的值,所以如果你打印$ b,你会看到10. / p>

$a = 10;
$b = &$a;
$b = 100;
echo $a;

导致:

100

在这种情况下,你所拥有的是不同的东西,你将$ b的值(这是$ a的引用)更改为100会影响该值$ a也有,所以如果你在这里打印$ a,你会发现它的值实际上是100而不是10。

希望明确。

答案 1 :(得分:0)

添加引用时,这些变量相互依赖,这意味着如果更改了一个变量值,则地址也会更改另一个值或使用新值进行赋值。最后&始终跟踪这些变量,以使函数或区域中的值始终相同。

来自手册: PHP中的引用是一种通过不同名称访问相同变量内容的方法。它们不像C指针;例如,您不能使用它们执行指针运算,它们不是实际的内存地址,依此类推。有关详细信息,请参阅参考资料。相反,它们是符号表别名。请注意,在PHP中,变量名称和变量内容是不同的,因此相同的内容可以具有不同的名称。最接近的类比是Unix文件名和文件 - 变量名是目录条目,而变量内容是文件本身。引用可以比作​​Unix文件系统中的硬链接。

http://php.net/manual/en/language.references.php