Operadores – Parte VI – Referenciado variáveis

Por padrão, os operadores trabalham pela atribuição de valor, ou seja, eles copiar o valor de uma expressão para outra. Se do lado direito do operando for uma variável, somente seu valor será copiado, de modo que qualquer alteração subseqüente ao da esquerda do operador não será refletindo no operador da direita. Por exemplo:

$a = 10;
$b = $a;
$b = 20;
echo $a; // será impresso  10

Normalmente, você espera que esse seja o resultado obtido, mais a casos em que você queira uma tarefa que o resultado seja obtido por referência, de modo que a expressão da esquerda do operando torna-se “ligado” com a expressão da direita. Por exemplo:

$a = 10;
$b = &$a; // por referência
$b = 20;
echo $a; // será impresso 20

OBS: O operador trabalha pela atribuição de valor para todos os tipos de dados, exceto objetos, os quais sempre são passados por referência, independentemente do operador “&” ser usado ou não.

A utilização de variáveis por referência usada algumas vezes pode ser até útil, mas sempre será uma técnica PHP bastante arriscada, porque variáveis PHP tendem a permanecer ativas por um longo período de tempo, até mesmo dentro de uma função. Além disso, contrariamente ao que acontece em muitas outras línguas, essa tecnica muitas vezes é mais lenta do que a atribuição de valor, porque o PHP usa uma inteligente “deferred-copy” mecanismo que otimiza a realidade de valor atribuições.

Deixe uma resposta

O seu endereço de email não será publicado Campos obrigatórios são marcados *

*


Você pode usar estas tags e atributos de HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Spam Protection by WP-SpamFree