Diferencia entre $ a = y $ b, $ a = $ b y $ a = clon $ b en PHP OOP

¿Cuál es la diferencia entre $a = &$b , $a = $b y $b = clone $a en PHP OOP? $a es una instancia de una clase.

 // $a is a reference of $b, if $a changes, so does $b. $a = &$b; // assign $b to $a, the most basic assign. $a = $b; // This is for object clone. Assign a copy of object `$b` to `$a`. // Without clone, $a and $b has same object id, which means they are pointing to same object. $a = clone $b; 

Y revise más información con Referencias , Clonación de objetos .

 // $a has same object id as $b. if u set $b = NULL, $a would be still an object $a = $b; // $a is a link to $b. if u set $b = NULL, $a would also become NULL $a = &$b; // clone $b and store to $a. also __clone method of $b will be executed $a = clone $b; 

Si no sabía qué es la estructura de ZVAL y de qué se trata el refcount, is_ref en la estructura de ZVAL, solo tómese un tiempo para la recolección de basura de PHP .