Fundamentos do PHP

0/25 aulas0%
teoria

Operadores aritméticos, de atribuição e comparação

Aprenda sobre operadores aritméticos, de atribuição e comparação

30 min
Aula 5 de 5

Módulo 1: Introdução ao PHP e Ambiente de Desenvolvimento

Aula: Operadores Aritméticos, de Atribuição e Comparação

Olá, futuros desenvolvedores PHP! 👋 Sejam bem-vindos à nossa aula sobre Operadores em PHP. Nesta sessão, vamos explorar ferramentas essenciais que nos permitem realizar cálculos, atribuir valores a variáveis e comparar dados. Dominar esses operadores é fundamental para construir qualquer lógica de programação.

Vamos mergulhar! 🚀

1. Introdução aos Operadores em PHP

Em programação, operadores são símbolos que dizem ao compilador ou interpretador para realizar operações matemáticas, relacionais ou lógicas e produzir um resultado. Eles são a espinha dorsal de qualquer algoritmo, permitindo-nos manipular dados e controlar o fluxo do programa.

Nesta aula, focaremos em três categorias principais:

  • Operadores Aritméticos: Para cálculos matemáticos.
  • Operadores de Atribuição: Para atribuir valores a variáveis.
  • Operadores de Comparação: Para comparar dois valores.

Vamos começar com os mais diretos: os operadores aritméticos!

2. Operadores Aritméticos

Os operadores aritméticos são usados para realizar operações matemáticas comuns. Eles funcionam exatamente como você esperaria de uma calculadora.

OperadorNomeExemploResultado
+Adição$a + $bSoma
-Subtração$a - $bDiferença
*Multiplicação$a * $bProduto
/Divisão$a / $bQuociente
%Módulo$a % $bResto
**Exponenciação$a ** $b$a elevado a $b

Exemplos práticos:

<?php
$num1 = 10;
$num2 = 3;
$num3 = 2;
 
echo "--- Operadores Aritméticos --- \n";
 
// Adição
echo "Adição: " . ($num1 + $num2) . "\n"; // Saída: 13
 
// Subtração
echo "Subtração: " . ($num1 - $num2) . "\n"; // Saída: 7
 
// Multiplicação
echo "Multiplicação: " . ($num1 * $num2) . "\n"; // Saída: 30
 
// Divisão
// Cuidado: A divisão de inteiros pode resultar em float se não for exata.
echo "Divisão: " . ($num1 / $num2) . "\n"; // Saída: 3.3333333333333335
 
// Módulo (resto da divisão)
echo "Módulo: " . ($num1 % $num2) . "\n"; // Saída: 1 (10 dividido por 3 é 3 com resto 1)
 
// Exponenciação (disponível a partir do PHP 5.6)
echo "Exponenciação: " . ($num2 ** $num3) . "\n"; // Saída: 9 (3 elevado a 2)
 
// Exemplo com parênteses para precedência
echo "Precedência: " . ($num1 + $num2 * $num3) . "\n"; // Saída: 16 (10 + (3 * 2))
echo "Precedência com parênteses: " . (($num1 + $num2) * $num3) . "\n"; // Saída: 26 ((10 + 3) * 2)
?>

Precedência de Operadores: Assim como na matemática, os operadores têm uma ordem de execução. Multiplicação e Divisão têm precedência sobre Adição e Subtração. Você pode usar parênteses () para forçar uma ordem de execução específica.

3. Operadores de Atribuição

Operadores de atribuição são usados para atribuir valores a variáveis. O operador de atribuição mais básico é o = (sinal de igual). Além dele, existem operadores de atribuição compostos que combinam uma operação aritmética (ou de string) com a atribuição.

OperadorNomeExemplo OriginalEquivalente
=Atribuição Simples$a = $b$a recebe $b
+=Atribuição de Adição$a += $b$a = $a + $b
-=Atribuição de Subtração$a -= $b$a = $a - $b
*=Atribuição de Multiplicação$a *= $b$a = $a * $b
/=Atribuição de Divisão$a /= $b$a = $a / $b
%=Atribuição de Módulo$a %= $b$a = $a % $b
**=Atribuição de Exponenciação$a **= $b$a = $a ** $b
.=Atribuição de Concatenação$a .= $b$a = $a . $b

Exemplos práticos:

<?php
echo "--- Operadores de Atribuição --- \n";
 
$saldo = 100;
echo "Saldo inicial: " . $saldo . "\n"; // Saída: 100
 
// Atribuição de Adição
$saldo += 50; // Equivalente a $saldo = $saldo + 50;
echo "Saldo após depósito: " . $saldo . "\n"; // Saída: 150
 
// Atribuição de Subtração
$saldo -= 20; // Equivalente a $saldo = $saldo - 20;
echo "Saldo após saque: " . $saldo . "\n"; // Saída: 130
 
// Atribuição de Multiplicação
$multiplicador = 2;
$saldo *= $multiplicador; // Equivalente a $saldo = $saldo * $multiplicador;
echo "Saldo após dobrar: " . $saldo . "\n"; // Saída: 260
 
// Atribuição de Divisão
$saldo /= 2; // Equivalente a $saldo = $saldo / 2;
echo "Saldo após dividir pela metade: " . $saldo . "\n"; // Saída: 130
 
// Atribuição de Módulo
$resto = 17;
$resto %= 5; // Equivalente a $resto = $resto % 5;
echo "Resto de 17 por 5: " . $resto . "\n"; // Saída: 2
 
// Atribuição de Concatenação (para strings)
$mensagem = "Olá";
$mensagem .= ", mundo!"; // Equivalente a $mensagem = $mensagem . ", mundo!";
echo "Mensagem: " . $mensagem . "\n"; // Saída: Olá, mundo!
 
// Atribuição de Exponenciação
$base = 2;
$base **= 3; // Equivalente a $base = $base ** 3;
echo "2 elevado a 3: " . $base . "\n"; // Saída: 8
?>

4. Operadores de Comparação

Operadores de comparação são usados para comparar dois valores e retornar um resultado booleano (true ou false). Eles são cruciais para a lógica condicional (como if e else), que veremos em aulas futuras.

OperadorNomeExemploRetorna true se...
==Igual (valor)$a == $b$a é igual a $b (após coerção de tipo)
===Idêntico (valor e tipo)$a === $b$a é igual a $b E do mesmo tipo
!= ou <>Diferente (valor)$a != $b$a é diferente de $b (após coerção de tipo)
!==Não Idêntico (valor ou tipo)$a !== $b$a não é igual a $b OU não é do mesmo tipo
<Menor que$a < $b$a é estritamente menor que $b
>Maior que$a > $b$a é estritamente maior que $b
<=Menor ou igual a$a <= $b$a é menor ou igual a $b
>=Maior ou igual a$a >= $b$a é maior ou igual a $b
<=>Spaceship (PHP 7+)$a <=> $bRetorna -1 se $a < $b, 0 se $a == $b, 1 se $a > $b

Atenção: == vs ===

Esta é uma distinção muito importante em PHP!

  • == (Igual): Compara apenas os valores. Se os tipos forem diferentes, o PHP tenta converter um para o tipo do outro antes de comparar (coerção de tipo).
  • === (Idêntico): Compara os valores E os tipos de dados. Não há coerção de tipo. Para que seja true, ambos os valores e seus tipos devem ser idênticos.

Exemplos práticos:

<?php
echo "--- Operadores de Comparação --- \n";
 
$valor1 = 10;    // int
$valor2 = "10";  // string
$valor3 = 20;    // int
$valor4 = true;  // boolean
 
// Igual (==) - Compara valor, ignora tipo (com coerção)
echo "10 == '10': " . var_export($valor1 == $valor2, true) . "\n"; // Saída: true (10 é igual a "10" após coerção)
echo "10 == 20: " . var_export($valor1 == $valor3, true) . "\n";  // Saída: false
 
// Idêntico (===) - Compara valor E tipo
echo "10 === '10': " . var_export($valor1 === $valor2, true) . "\n"; // Saída: false (valores iguais, mas tipos diferentes: int vs string)
echo "10 === 10: " . var_export($valor1 === 10, true) . "\n";    // Saída: true
 
// Diferente (!= ou <>) - Compara valor, ignora tipo (com coerção)
echo "10 != '10': " . var_export($valor1 != $valor2, true) . "\n"; // Saída: false (eles são iguais em valor)
echo "10 != 20: " . var_export($valor1 != $valor3, true) . "\n";  // Saída: true
 
// Não Idêntico (!==) - Compara valor OU tipo
echo "10 !== '10': " . var_export($valor1 !== $valor2, true) . "\n"; // Saída: true (tipos diferentes)
echo "10 !== 10: " . var_export($valor1 !== 10, true) . "\n";    // Saída: false
 
// Menor que (<)
echo "10 < 20: " . var_export($valor1 < $valor3, true) . "\n";   // Saída: true
 
// Maior que (>)
echo "20 > 10: " . var_export($valor3 > $valor1, true) . "\n";   // Saída: true
 
// Menor ou igual a (<=)
echo "10 <= 10: " . var_export($valor1 <= 10, true) . "\n";  // Saída: true
echo "10 <= 20: " . var_export($valor1 <= $valor3, true) . "\n"; // Saída: true
 
// Maior ou igual a (>=)
echo "20 >= 10: " . var_export($valor3 >= $valor1, true) . "\n"; // Saída: true
echo "20 >= 20: " . var_export($valor3 >= 20, true) . "\n";  // Saída: true
 
// Operador Spaceship (<=>) - PHP 7+
// Retorna -1 se o primeiro é menor, 0 se são iguais, 1 se o primeiro é maior
echo "10 <=> 20: " . ($valor1 <=> $valor3) . "\n"; // Saída: -1
echo "20 <=> 10: " . ($valor3 <=> $valor1) . "\n"; // Saída: 1
echo "10 <=> 10: " . ($valor1 <=> 10) . "\n";    // Saída: 0
?>

Nota sobre var_export(): Usamos var_export(..., true) para exibir os valores booleanos true e false como strings literais, facilitando a visualização no terminal. Se usássemos apenas echo, true seria exibido como 1 e false como vazio (nada).

💡 Desafio para você!

Pense na seguinte situação: Você tem uma variável $idade = 25; (inteiro) e outra $idadeTexto = "25"; (string). Qual seria o resultado das seguintes comparações e por quê?

  1. $idade == $idadeTexto
  2. $idade === $idadeTexto

Tente responder mentalmente ou escreva um pequeno script PHP para verificar! 😉

5. Resumo e Próximos Passos

Nesta aula, cobrimos os operadores fundamentais em PHP:

  • Aritméticos: Para realizar cálculos (+, -, *, /, %, **).
  • De Atribuição: Para atribuir e modificar valores de variáveis de forma concisa (=, +=, -=, .=, etc.).
  • De Comparação: Para verificar relações entre valores, retornando true ou false (==, ===, !=, !==, <, >, <=, >=, <=>). Lembre-se da diferença crucial entre == e ===!

Dominar esses operadores é o primeiro passo para escrever lógica de programação eficaz. Eles são a base para tomar decisões em seu código.

Na próxima aula, vamos explorar os Operadores Lógicos (AND, OR, NOT), que nos permitem combinar múltiplas condições para criar lógicas ainda mais complexas. Prepare-se para construir programas mais inteligentes! 🧠

© 2025 Escola All Dev. Todos os direitos reservados.

Operadores aritméticos, de atribuição e comparação - Fundamentos do PHP | escola.all.dev.br