2012-04-24 28 views
10

En PHP, me gustaría saber qué significa array(&$this).

+10

Significa que está utilizando un script PHP4 :) PHP 5 * siempre * pasará referencias de objetos, por lo que no es necesario denotarlo como referencia. –

Respuesta

13

Es una construcción que inicializa un array que contiene un elemento: un reference al objeto de la matriz se inicializa en el interior de cada clase, puede hacer referencia a la instancia "actual" usando $this..

+0

también debe tenerse en cuenta que esta construcción ('matriz (& $ algo)') se puede utilizar como una solución alternativa para utilizar el "pase por referencia" a una función que tiene parámetros predeterminados. Hay una gran discusión sobre esto en la sección de comentarios del [manual de PHP] (http://php.net/manual/en/language.references.pass.php) – Kaii

6

Su PHPs pass by reference construcción. Normalmente, esto significa que se pasa una referencia al parámetro a la función en lugar de una copia del valor, de modo que las modificaciones dentro de la función afecten al objeto.

+5

Esto no es una respuesta, es un enlace ... – Jasper

+0

y & $ esto se refiere a la matriz? – Zaidar

+0

@Jasper: Lo siento, ordenar los detalles tomó más tiempo de lo que esperaba. –

0

Esto está creando una matriz con un solo elemento. El elemento es una referencia al objeto desde el que se lo ejecuta. Para obtener más información, consulte la documentación en passing by reference.