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