【发布时间】:2015-10-05 12:40:25
【问题描述】:
我发现下面代码中的引用比较混乱,
$a = 4;
$b = &$a;
var_dump($b);
$a = 10;
var_dump($b); // 10
$b = 100;
var_dump($a); // 100 but shouldn't it be 10?
$b 的值是对$a 的引用,而$a从不是对$b 的引用。
但是为什么当我更改$b 的值时。 $a 的值也变了?
【问题讨论】:
-
我也很困惑,但我认为这是因为“C 编程”。在 C 中,它会像你期望的那样工作,但在 PHP 中,它可能会有所不同...... '不再包含“$a”的地址...
-
这就是我认为它应该在 PHP 中的内容!不是很明显!
-
这一定是因为PHP中没有类型...在C中,您在类型中添加“*”,表示它将是一个指针。这里,当你声明“$b”时,它将是一个与“$a”地址相同的变量,而不是一个包含“$a”地址的变量...
标签: php pass-by-reference php-5.6