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!