Referências ou ponteiros em PHP

Referências, em PHP, significa acessar o mesmo conteúdo de variável através de vários nomes. Porém é comum ouvir erroneamente a expressão "uso de ponteiros" em PHP, o que por sua vez não chega nem a ser parecido como os ponteiros em C: temos em PHP apelidos numa tabela simbólica (em C endereço de memória).

[ Hits: 59.848 ]

Por: Ragen Dazs em 07/11/2003 | Blog: http://www.orkut.com


O que as referências não são



Como dito anteriormente, referências não são ponteiros. Isto significa que o construtor seguinte não fará o que você espera:

<?php
function foo (&$var)
{
    $var =& $GLOBALS["baz"];
}
foo($bar);
?>

Acontece que $var na função foo estará apontada para $bar na chamada, mas ela será re-apontada para $GLOBALS["baz"]. Não existe maneira de apontar $bar no escopo chamador para qualquer outra coisa utilizando o mecanismo de referências, desde que $bar não está disponível na função foo (ela é representa por $var, mas $var somente tem o conteúdo da variável e não um relacionamento nome para valor na tabela simbólica).

Página anterior     Próxima página

Páginas do artigo
   1. O que referências fazem
   2. O que as referências não são
   3. Passagem por referência
   4. Retornando referências
   5. Destruindo referências
   6. Conclusão
Outros artigos deste autor

Entendendo um pouco sobre os daemons

Instalando o Allegro

O perigo no gerenciador de uploads do PHP

Sejamos todos filhos da p***

XSS - Um exemplo de ataque

Leitura recomendada

Google Chart: Criando gráficos dinâmicos em minutos

Trabalhando com datas em PHP

Usando cache na classe Fast Template

Formantando nomes com caracteres especiais em PHP

Capturando conteúdo de sites em PHP

  
Comentários
[1] Comentário enviado por salvini em 02/03/2007 - 11:51h

Excelente artigo! Vejo ponteiros sendo muito usados em C e não em PHP... Mas sem dúvida é muito util!

[2] Comentário enviado por thiagop em 09/07/2007 - 11:23h

Boa, boa boa! :)


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts