O as referências fazem

Referências PHP permitem fazer duas variáveis se referirem ao mesmo conteúdo . Ou seja :




aqui $a e $b apontam para a mesma variável.

Nota: $a e $b são completamente iguais aqui, mas não porque $a está apontando para $b ou vice versa, mas sim que $a e $b apontam para o mesmo lugar.



A mesma sintaxe pode ser utilizada com funções , que retornem referências , e com o operador new ( a partir do PHP 4.0.4 ) :






Nota : A não utilização do operador causará a cópia do objeto . Se você utiliza $this em classes , ele operará na instância atual do objeto . A assimilação sem irá copiar a instância ( o objeto em si ) e $this irá operar na cópia , podendo não ser esse procedimento sempre desejável . Normalmente você precisará trabalhar com uma instância única , seja por motivos de performance ou de consumo de memória .

Você pode utilizar o operador @ para esconder quaisquer erros em construtores na forma @new , mas isto não funciona quando utilizada a instrução new . Esta é uma limitação da Zend Engine e irá gerar um erro de interpretação ( parser error ) .

A segunda coisa que referências permitem é passar variáveis por referência . Isto é feito marcando uma variável local de uma função e a variável do escopo chamador como referências ao mesmo conteúdo . Exemplo :




fará que $a seja 6. Isto acontece porque na função foo a variável $var se refere ao mesmo conteúdo que $a . Veja explicações mais detalhadas em passagem por referência .

Em terceiro lugar , referências permitem também retorno por referência .