PHP's =& operator PHP's =& operator php php

PHP's =& operator


Yes, they are both the exact same thing. They just take the reference of the object and reference it within the variable $o. Please note, thing should be variables.


They're not the same thing, syntactically speaking. The operator is the atomic =& and this actually matters. For instance you can't use the =& operator in a ternary expression. Neither of the following are valid syntax:

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

So instead you would use this:

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


They both give an expected T_PAAMAYIM_NEKUDOTAYIM error.

If you meant $o = &$thing; then that assigns the reference of thing to o. Here's an example:

$thing = "foo";$o = &$thing;echo $o; // echos foo$thing = "bar";echo $o; // echos bar