Bu soru burada zaten bir cevabı var:
Bu değişken referans olarak kabul edilmesi zorlar. Normalde, sert bir kopya basit türleri oluşturulmuş olacaktır. Bu büyük dizeleri için kullanışlı geliyor (performans kazancı) veya return deyimi, örneğin kullanmadan değişkeni işlemek isterseniz yapabilirsiniz:
$a = 1;
function inc(&$input)
{
$input++;
}
inc($a);
echo $a; // 2
Nesneler otomatik olarak referans olarak kabul edilecektir.
Eğer bir fonksiyon, kullanım için bir kopyasını üzerinde işlemek istiyorsanız
clone $object;
Ardından, özgün nesne, örneğin değişmiş değil:
$a = new Obj;
$a->prop = 1;
$b = clone $a;
$b->prop = 2; // $a->prop remains at 1
Bu referans değeri yerine bir şey geçer.
Bkz:
http://php.net/manual/en/language.references.php
http://php.net/manual/en/language.references.pass.php
Bir değişkeni önceki imi yerine bir kopyasını ya da sadece değer orijinal bir başvuru, temsil eder.
Buraya bakın: http://www.phpreferencebook.com/samples/php-pass-by-reference/