$bar = 7;
$foo =& $bar = 9;
从技术角度来看,这不会从右到左进行评估吗? 所以:$ bar = 9; $ foo =& $杆
如果有人想知道。我在一条线上这样做的原因是为了避免指甲剪。
答案 0 :(得分:13)
赋值表达式$bar = 9
不返回对$bar
的引用(即变量本身);相反,它返回整数值9
。
或者,如果您需要来自manual的报价:
赋值表达式的值是指定的值。也就是说,“ $ a = 3 ”的值为3。
您不能直接将引用分配给值,只能分配给包含该值的变量。因此,你方便的单行程失败了,你必须把它分成两部分。
答案 1 :(得分:2)
出于同样的原因
$bar =& 9;
无效(因为引用可以指向另一个变量,但不是常量/文字)。见: http://www.php.net/manual/en/language.references.whatdo.php