Curso de PHP: #13 - Operadores de atribuição composta

Curso de PHP: #13 - Operadores de atribuição composta

Fala escoteiro, tudo belezinha? Em nosso post anterior continuamos falando de estruturas de repetição e vimos o do while, for e o foreach. Hoje vamos dar uma aliviada, vamos pegar um assunto mais light para descansar um pouco. Vamos falar sobre operadores de atribuição composta.

Até agora nós trabalhamos com o operador de atribuição "=". Vamos continuar trabalhando com ele, mas vamos incrementar alguns super poderes nele.

Veja o exemplo a seguir

<?php

$salario = 15000;
$aumento = 1500;

$salario = $salario + $aumento;

echo "Seu salário agora é R$ $salario";

Até aqui nada demais, simplesmente declaramos 2 variáveis, $salario e $aumento, atribuímos a ela 15000 e 1500 respectivamente. Atualizamos o valor da variável $salario, fazendo ela receber o valor atual de $salario + $aumento, que nesse caso totaliza 16500 e imprimimos o valor na tela.

Porém existe uma forma mais "compacta" de escrever esse $salario = $salario + $aumento;

<?php

$salario = 15000;
$aumento = 1500;

$salario += $aumento;

echo "Seu salário agora é R$ $salario";

O operador "+=" faz exatamente a mesma coisa que o exemplo anterior, porém é mais compacto.

Veja outros exemplos:

<?php

$numero1 = 5;
$numero1 += 1;

echo $numero1; // Aqui será impresso 6

$numero2 = 4;
$numero2 -= 3;

echo $numero2; // Aqui será impresso 1

$numero3 = 9;
$numero3 *= 2;

echo $numero3; // Aqui será impresso 18

$numero3 = 5;
$numero3 /= 2;

echo $numero3; // Aqui será impresso 2.5

Bem tranquilo, não é?

Ainda dentro desse mesmo assunto temos mais 2 operadores muito utilizados!

Operadores de Pré e Pós Incremento

Os operadores de pré-incremento e pós-incremento é uma forma compacta de escrever $variavel = $variavel + 1;

<?php

// Pós-incremento
$numero1 = 12;
$numero1++;

echo $numero1; // Aqui será impresso 13

// Pré-incremento
$numero2 = 12;
++$numero2;

echo $numero2; // Aqui também será impresso 13

Você deve estar se perguntando: Se ambos fazem a mesma coisa, pra que existem então?

Na verdade há uma pequena diferença entre eles. O operador de pré-incremento primeiro incrementa e depois devolve o resultado, já o de pós-incremento primeiro devolve e depois incrementa.

Nesse novo exemplo as coisas vão ficar mais claras

<?php

// Pós-incremento
$numero1 = 12;

echo $numero1++; // Aqui será impresso 12

// Pré-incremento
$numero2 = 12;

echo ++$numero2; // Aqui também será impresso 13

No primeiro exemplo, como usamos Pós-incremento ele primeiro vai devolver para o echo o valor atual e depois vai incrementa, já no outro ele primeiro vai incrementar e depois devolver para o echo.

Atribuição composta para Strings

Você achou que as strings iam ficar de fora? Também possível utilizar o operador de atribuição composta para concatenar strings, veja um exemplo:

<?php

$nome = "Paulo";
$nome .= " Reis";

echo $nome;

Viu que eu falei que seria fácil? Para esse eu não vou passar desafio, mas faça alguns testes, brinque com as possibilidades, e veja se descobre alguma coisa legal.

Se tiver alguma dúvida deixa ai nos comentários. Valeu escoteiro!