فکر می کنم با مثال زیر کاملا تفاوتشون رو متوجه بشی:
$a = 42;
$b =& $a;
$c = $a;
echo $a; // 42
echo $b; // 42
echo $c; // 42
$a = 13;
echo $a; // 13
echo $b; // 13
echo $c; // 42
وقتی در PHP یک متغییر بصورت ارجاعی (reference) مقدار دهی می شود (مثل b) چون b به جایی که a ارجاع می کند (اشاره می کند) مقدار دهی شده هرگونه تغییر در آن محل در b هم تاثیر می گذارد. در حالی که متغییر c بصورت معمولی مقدار دهی شده و هر گونه تغییرات در مقدار a دیگر در c تاثیری ندارد.