为什么我不能分配给PHP中引用的变量?

时间:2012-02-27 20:19:17

标签: php

$bar = 7;
$foo =& $bar = 9;

从技术角度来看,这不会从右到左进行评估吗? 所以:$ bar = 9; $ foo =& $杆

如果有人想知道。我在一条线上这样做的原因是为了避免指甲剪。

2 个答案:

答案 0 :(得分:13)

赋值表达式$bar = 9不返回对$bar的引用(即变量本身);相反,它返回整数值9

或者,如果您需要来自manual的报价:

  

赋值表达式的值是指定的值。也就是说,“ $ a = 3 ”的值为3。

您不能直接将引用分配给值,只能分配给包含该值的变量。因此,你方便的单行程失败了,你必须把它分成两部分。

答案 1 :(得分:2)

出于同样的原因

$bar =& 9; 

无效(因为引用可以指向另一个变量,但不是常量/文字)。见:  http://www.php.net/manual/en/language.references.whatdo.php