Curso de PHP – Operadores Aritméticos e de Atribuição de valores

Operadores Aritméticos e de Atribuição de valores em PHP

Um operador permite realizar uma transformação sobre um ou mais valores de dados, gerando um novo valor que pode, por exemplo, ser armazenado em uma variável, ou ser utilizado como entrada para outras operações.

Os operadores podem ser unários, que operam sobre um único valor, binários, que operam sobre dois valores ou expressões gerando um terceiro valor, e ternário, que retorna um valor entre dois possíveis, dependendo do resultado de um terceiro valor ou expressão.

Vamos trabalhar nesta aula com duas classes de operadores em PHP: operadores de atribuição e operadores aritméticos. Na próxima aula estudaremos os operadores relacionais, bit a bit e lógicos.

Operadores de atribuição

Os operadores de atribuição são usados quando precisamos atribuir um valor a uma variável. Existe um operador básico de atribuição e vários outros derivados dele. Veja na tabela abaixo os operadores de atribuição que podemos usar em PHP:

Operador Significado
= atribuição simples (recebe)
+= atribuição com soma
-= atribuição com subtração
*= atribuição com multiplicação
/= atribuição com divisão
%= atribuição com módulo (resto da divisão)
.= atribuição com concatenação
= & atribuição por referência

Vejamos alguns exemplos. Teste o código a seguir em seu sistema:

$x = 10; //atribui o valor 10 à variável $x.
$x += 5; //equivale a $x = $x + 5;
echo “$x <br/>”;
$x /= 2; //equivale a $x = $x / 2;
echo $x;

Os resultados serão 15 e 7.5.

Exemplo 02: usando atribuição por referência:

 $z = 1;
 $k = $z++; 
 $k = $z; 
 echo ("k vale " . $k . " e z vale " . $z . "<br>");
 echo "Alterando o valor de z para 5:<br>";
 $z = 5;
 echo ("k vale " . $k . " e z vale " . $z. "<br><br>");
 echo "Atribuindo por referência:<br>";
 $k = & $z;
 echo ("k vale " . $k . " e z vale " . $z . "<br>");
 echo "Alterando o valor de z para 10:<br>";
 $z = 10;
 echo ("k vale " . $k . " e z vale " . $z. "<br>");
 echo("Alterar o valor de k:<br>");
 $k = 18;
 echo("k vale ".$k." e z vale ".$z."<br>")

Operadores aritméticos

Os operadores aritméticos são usados para realizar cálculos simples, como soma, subtração ou divisão. Devem ser utilizados somente com variáveis de tipos numéricos, ou convertendo-se os tipos com as funções de conversão comuns, caso contrário o PHP tentará fazer uma conversão automática dos tipos.

Na tabela a seguir estão os operadores aritméticos usados no PHP.

Operador Significado
+ soma
subtração (ou sinal de negativo)
* multiplicação
/ divisão comum
% módulo (resto da divisão inteira)
** exponenciação (a partir do PHP 5.6)

 

O operador de divisão (/) retorna sempre um valor de ponto flutuante, mesmo que os números envolvidos na operação não o sejam.

Além desses operadores temos também os operadores aritméticos unários de incremento e decremento (soma um e subtrai um, respectivamente), que podem ser vistos na tabela a seguir:

Operador Significado
++ incremento (+ 1)
decremento (- 1)

Estes dois operadores podem ser usados antes ou depois dos nomes das variáveis. Se forem utilizados depois, retornam o valor da variável antes de realizar o incremento ou decremento. Mas se forem usados antes das variáveis, retornam o valor da variável já com o incremento (ou decremento).

Vamos a alguns exemplos:

<?php
 $x = 30;  // atribui o valor 30 à variável $x
 $y = $x * 3;
 $z = $y % $x;
 echo “$x <br/>”;
 echo “$y <br/>”;
 echo “$z <br/>”;
 $k = $z++; // atribui a $k o valor de $z e então incrementa $z.
 echo “$k <br/>”;
 $k = $z; // atribui a $k o valor de $z, agora já incrementado.
 echo $k;
?>

Veja o resultado dessas operações:

Operadores de incremento - Curso de PHP com MySQL

Ordem de Precedência dos Operadores Aritméticos

Na tabela abaixo vemos a ordem de precedência dos operadores aritméticos, da mais alta para a mais baixa:

++, —
– (sinal de negativo)
*, /, %
+, –

Podemos subverter a ordem de precedência dos operadores com o uso de parênteses, sendo que as expressões dentro dos parênteses sempre serão avaliadas antes, mesmo que os operadores envolvidos tenham menor prioridade do que os operadores fora dos parênteses.

Vejamos um exemplo:

<?php
  $a = 3 + 5 * 4;
  $b = (3 + 5) * 4;
  echo “Valor da expressão sem parênteses: $a <br/>”;
  echo “Valor da expressão com parênteses: $b <br/>”;
?>

Precedência dos operadores aritméticos em PHP

Sem o uso de parênteses a expressão retorna o valor 23 e com parênteses, 32. O valor correto depende da fórmula que se quer avaliar.

Sobre Fábio dos Reis (1195 Artigos)
Fábio dos Reis trabalha com tecnologias variadas há mais de 30 anos, tendo atuado nos campos de Eletrônica, Telecomunicações, Programação de Computadores e Redes de Dados. É um entusiasta de Ciência e Tecnologia em geral, adora Viagens e Música, e estuda idiomas, além de ministrar cursos e palestras sobre diversas tecnologias em São Paulo e outras cidades do Brasil.

Escreva um comentário

Seu e-mail não será divulgado


*