Precedência de Operadores em PHP

Neste tutorial de nosso curso de PHP, vamos aprender o que é a precedência de operadores matemáticos e como ela funciona no desenvolvimento de aplicações web modernas.

📚 Domine o PHP Offline!

Gostou da nossa didática? Você pode ter todo esse conteúdo organizado e pronto para consulta rápida na Apostila PHP Progressivo. Ideal para quem quer estudar sem interrupções e com exercícios exclusivos.

QUERO A APOSTILA COMPLETA →

Precedência: O que é?

Quanto é: 1 + 2 * 3?

Se você fizer a soma primeiro, terá 9. Se fizer a multiplicação primeiro, terá 7. Na matemática escolar, aprendemos que a multiplicação tem prioridade. No PHP, a lógica é idêntica, mas com muito mais operadores envolvidos.

O computador é uma máquina de precisão. Ele não pode ter dúvidas; toda expressão deve resultar no mesmo valor, independentemente de onde o código for executado. Para garantir essa consistência, existe a Precedência de Operadores.

Tabela de Precedência no PHP

Abaixo, listamos os principais operadores em ordem de importância (da maior prioridade para a menor). O PHP sempre resolverá o que está no topo primeiro:

Operador Descrição
( ) Parênteses (Máxima Prioridade)
++ -- Incremento e Decremento
! Negação Lógica
* / % Multiplicação, Divisão e Resto
+ - . Soma, Subtração e Concatenação de Strings
< <= > >= Comparação (Menor, Maior, etc)
== != === !== Igualdade e Identidade
&& || Operadores Lógicos "E" e "OU"

Não se preocupe se você ainda não conhece alguns desses símbolos. No decorrer do nosso Curso de PHP, estudaremos cada um deles detalhadamente.

Associatividade: O que acontece se houver empate?

Quando dois operadores têm a mesma prioridade (como a soma e a subtração), o PHP geralmente os resolve da esquerda para a direita. Isso é chamado de associatividade à esquerda.

<?php
    // Soma e Subtração empatam. PHP faz: (10 - 5) + 2 = 7
    echo 10 - 5 + 2; 
?>

O Poder dos Parênteses

Como vimos na tabela, o parênteses é o operador "mais forte". Ele é usado para forçar o PHP a calcular algo fora da ordem padrão. Além disso, ele é uma ferramenta de clareza.

  • 1 + 2 * 3 resulta em 7 (Multiplicação primeiro).
  • (1 + 2) * 3 resulta em 9 (Soma primeiro, devido aos parênteses).

💡 Dica de Programador Sênior:

Mesmo quando a precedência matemática for óbvia, use parênteses em expressões complexas. Isso ajuda outros programadores (ou você mesmo no futuro) a ler o código rapidamente sem precisar "mentalizar" a tabela de precedência.

Exemplo Prático: Calculando Média

Se você quer calcular a média de duas notas, os parênteses são obrigatórios:

<?php
    $nota1 = 7;
    $nota2 = 9;

    // Errado: o PHP dividiria apenas a nota2 por 2 primeiro.
    // $media = $nota1 + $nota2 / 2; 

    // Correto:
    $media = ($nota1 + $nota2) / 2;
    echo "A média é: $media";
?>

Desafio: Exercícios de Precedência

Resolva as expressões abaixo mentalmente (ou criando um script PHP) e digite nos comentários quais resultados você obteve:

  1. ((1 + 2) * 3 - 4) * 5
  2. (6 - 7) * 8 * 9 + 10
  3. (10 + 9 - 8 + 7) * 6

Dúvidas? Deixe seu comentário e vamos aprender juntos!

Nenhum comentário:

Veja também: