PHP 7.1.0 Released

O que são referências

Referência em PHP significa acessar o mesmo conteúdo de variável através de vários nomes. Isto não é parecido com os ponteiros em C. Por exemplo não é possível efetuar aritmética de ponteiros com referências, já que elas não são endereços de memória. Veja O que referências não são para mais informações. Referências são como uma tabela de apelidos simbólicos. No PHP um nome de variável e o conteúdo de variável são diferentes, de forma um mesmo conteúdo pode ter nomes diferentes. A analogia mais próxima são com arquivos e nomes de arquivos Unix - os nomes de variáveis como nomes de arquivos, enquanto que o conteúdo das variáveis os conteúdos dos arquivos. Referências, assim, são como os hardlinks no sistema de arquivo Unix.

add a note add a note

User Contributed Notes 1 note

up
-10
stilezy
8 months ago
One subtle effect of PHP's assign-by-reference is that operators which might be expected to work with args that are references usually don't.  For example:

$a = ($b ? &$c : &$d);

fails (parser error) but the logically identical

if ($b)
   $a =& $c;
else
   $a =& $cd;

works. It's not always obvious why seemingly identical code throws an error in the first case. This is discussed on a PHP bug report ( https://bugs.php.net/bug.php?id=54740 ). TL;DR version, it acts more like an assignment term ($var1) "=&" ($var2) than a function/operator ($var1) "=" (&$var2).
To Top