Operadores de Atribuição

O operador básico de atribuição é "=". A sua primeira inclinação deve ser a de pensar nisto como "é igual". Não. Isto quer dizer, na verdade, que o operando da esquerda recebe o valor da expressão da direita (ou seja, "é setado para").

O valor de uma expressão de atribuição é o valor atribuído. Ou seja, o valor de "$a = 3" é 3. Isto permite que você faça alguns truques:


$a = ($b = 4) + 5; // $a é igual a 9 agora, e $b foi setado para 4.

Além do operador básico de atribuição, há "operadores combinados" para todos os operadores binários, aritméticos e de string que permitem a você usar um valor em uma expressão e então setar seu valor para o resultado daquela expressão. Por exemplo:


$a = 3;
$a += 5; // seta $a para 8, como se disséssemos: $a = $a + 5;
$b = "Olá ";
$b .= "Aí!"; // seta $b para "Olá Aí!", como $b = $b . "Aí!";

Note que a atribuição copia a variável original para a nova (atribuição por valor), assim a mudança de uma não afeta a outra. Isto também pode ser relevância se você precisa copiar algo como uma grande matriz dentro de um 'loop' apertado. O PHP4 suporta atribuições por referência, usando a sintaxe $var = &$othervar;, mas isto não é possível no PHP3. 'Atribuição por referência' significa que ambas as variáveis acabam apontando para os mesmos dados, e nada é copiado para lugar nenhum.