2012-04-24 14 views
10

W PHP chciałbym wiedzieć, co oznacza array(&$this).

+10

Oznacza to, że używasz skryptu PHP4 :) PHP 5 * zawsze * przekazuje referencje obiektów, więc nie jest konieczne oznaczanie go jako odniesienia. –

Odpowiedz

13

Jest to konstrukcja, która inicjuje array który zawiera jeden element: a reference do obiektu tablica jest zainicjowany w Wewnątrz każdej klasy, można znaleźć w „bieżącym” np. Przy użyciu $this.

+0

należy również zauważyć, że ten konstrukt ('array (i $ something)') może być użyty jako obejście, aby użyć "przekazania przez odniesienie" do funkcji, która ma domyślne parametry. Prowadzona jest duża dyskusja w sekcji komentarzy w [podręczniku PHP] (http://php.net/manual/en/language.references.pass.php) – Kaii

6

Jego konstrukcja PHPs pass by reference. Zazwyczaj oznacza to, że odwołanie do parametru jest przekazywane do funkcji zamiast do kopii wartości, tak że modyfikacje wewnątrz funkcji wpływają na obiekt.

+5

To nie jest odpowiedź, to link ... – Jasper

+0

i & $ to odnosi się do tablicy? – Zaidar

+0

@Jasper: Przepraszamy, uporządkowanie szczegółów zajęło mi więcej czasu, niż się spodziewałem. –

0

To tworzy tablicę z pojedynczym elementem. Element jest odniesieniem do obiektu, z którego jest wykonywany. Aby uzyskać więcej informacji, zapoznaj się z dokumentacją pod adresem passing by reference.