Referans atama php operatör = &

3 Cevap php

Ben ne = & belirleyen bir sabit zaman yaşıyorum (Eşittir-işareti) atama operatörü PHP yapar. Herkes bunu açıklayabilir misiniz? Bu önerilmemektedir? Teşekkürler!

3 Cevap

Kyle'ın sorunun diğer kısmını cevaplamak için - bu deprecitated ve olması muhtemel değildir değil. Bu, örneğin, başka yapılan bir dizi veya nesne ayna değişikliklerin bir parçası yapmak için standart bir yol var.

Bu kılavuzu, "means that both variables end up pointing at the same data, and nothing is copied anywhere" alıntı hangi, Assignment by Reference denir.

is =& herhangi bir karışıklık kaynağı olabilir, PHP5 "new referans sonucu atama" olduğu ile önerilmeyen olduğu tek şey. new otomatik olarak referans ile bu atanır, böylece & $o = &new C; kullanım dışı / gereksiz değil, $o = &$c; içinde


Bu arama zor beri. =& (equals ampersand) aynıdır = & (equals space ampersand)

Bazen, örneğin sevk ediliyor değişkenin ya da nesnenin ön işareti ile yazıyor $x = &$y['z'];


İşte php kılavuzuna bir detailed section on Assign By Reference kullanışlı bir link bulunuyor. Bu sayfa referansları üzerinde bir serinin parçası olan - bu dizi okumak için bir dakikanızı alarak değer.

Bu 2 farklı operatörler var. Bildiğiniz gibi = atamadır. ve & değişkeni çok değer ziyade referans erişilebilir gerektiği anlamına gelir.

Eski bir iş parçacığı eklemek için:

$x = &$y['z']; also has the effect of creating $y['z'] if it doesn't exist, and setting it to null. This prevents error messages that you might have wanted to read. I haven't found documentation on this yet; possibly new in 5.3, for all I know.