PHP的=&运营商

这两个PHP语句是否做同样的事情?:

$o =& $thing;

$o = &$thing;

是的,他们都是完全一样的东西。 它们只是取对象的引用并在变量$o内引用它。 请注意, thing应该是变数。


从句法上讲,它们不是同一个东西。 运算符是atomic =& ,这实际上很重要。 例如,你不能在三元表达式中使用=&运算符。 以下两种都不是有效的语法:

$f = isset($field[0]) ? &$field[0] : &$field;
$f =& isset($field[0]) ? $field[0] : $field;

所以相反,你会使用这个:

isset($field[0]) ? $f =& $field[0] : $f =& $field;

他们都给出了预期的T_PAAMAYIM_NEKUDOTAYIM错误。

如果你的意思是$o = &$thing; 然后将事物的参考分配给o。 这是一个例子:

$thing = "foo";

$o = &$thing;

echo $o; // echos foo

$thing = "bar";

echo $o; // echos bar
链接地址: http://www.djcxy.com/p/58889.html

上一篇: PHP's =& operator

下一篇: GET['variable']) not working?