2012-04-24 14 views
10

PHP'de, array(&$this)'un ne anlama geldiğini bilmek isterim.

+10

Bu, bir PHP4 betiği kullandığınız anlamına gelir :) PHP 5 her zaman * nesnelerin referanslarını geçirir, dolayısıyla referans olarak göstermesi gerekmez. –

cevap

13

Bu bir öğe içeren bir array başlatan bir yapı.

+0

da, bu yapının ('array (& $ something)'), varsayılan parametreleri olan bir işleve "başvuruyla geçişi" kullanmanın bir geçici çözümü olarak kullanılabileceğine dikkat edilmelidir. Bu konuda [PHP kılavuzu] 'nun yorum bölümünde büyük bir tartışma var (http://php.net/manual/en/language.references.pass.php) – Kaii

6

Şirketinin PHP'si pass by reference yapılışıdır. Genellikle bu, parametreye yapılan bir referansın, değerin bir kopyası yerine işleve iletilmesi anlamına gelir, böylece işlev içindeki değişiklikler nesneyi etkiler. . Dizi içinde her sınıf Eğer $this kullanılarak "geçerli" örneğini ifade edebilir başlatıldı nesneye bir reference:

+5

Bu bir cevap değil, bir bağlantı ... – Jasper

+0

ve & $ bu diziye başvuruyor? – Zaidar

+0

@Jasper: Üzgünüm, ayrıntılar beklediğimden daha uzun sürdü. –

0

Bu, tek bir öğe içeren bir dizi oluşturuyor. Öğe, yürütüldüğü nesneye bir başvurudır. Daha fazla bilgi için belgelere bakın: passing by reference.