Aula 03 - Operadores em PHP.

article featured image

Na aula anterior aprendemos a utilizar variáveis para guardar informação e vimos que os valores podem ser de diferentes tipos, como texto, números inteiros, números decimais ou valores lógicos.

Guardar informação é importante, mas normalmente queremos fazer alguma coisa com ela.

Se tivermos o preço e a quantidade de um produto, podemos calcular o total da compra. Se tivermos duas classificações, podemos calcular a média. Se soubermos a idade de uma pessoa, podemos verificar se tem determinada idade mínima.

Para realizar estas operações, as linguagens de programação utilizam operadores.

Nesta aula vamos conhecer os principais operadores do PHP e perceber como podemos utilizá-los para realizar cálculos, atribuir valores e construir expressões que mais tarde permitirão aos nossos programas tomar decisões.

 

1. O que é um operador?

Um operador é um símbolo que indica ao PHP que deve realizar determinada operação sobre um ou mais valores.

Já utilizámos um operador nas aulas anteriores:

$nome = "João";

O símbolo:

=

é o operador de atribuição.

Indica que o valor "João" deve ser guardado na variável $nome.

Mas existem muitos outros operadores.

Por exemplo:

$total = 10 + 5;

Neste caso temos dois operadores:

Primeiro é calculado:

10 + 5

e o resultado:

15

é guardado em $total.

 

2. Operadores aritméticos

Os operadores aritméticos permitem realizar cálculos matemáticos.

OperadorOperaçãoExemploResultado
+Adição10 + 515
-Subtração10 - 55
*Multiplicação10 * 550
/Divisão10 / 52
%Resto da divisão10 % 31
**Potência2 ** 38

Exemplo:

Resultado:

 

3. Um exemplo mais próximo de uma aplicação real

Imagine que estamos a desenvolver uma loja online.

Temos:

Para calcular o valor da compra:

Podemos depois apresentar:

O programa adapta automaticamente o resultado se alterarmos o preço ou a quantidade.

Por exemplo:

Mais tarde aprenderemos também a formatar valores monetários para que sejam apresentados com duas casas decimais.

 

4. O operador módulo %

Um operador que inicialmente pode parecer estranho é:

%

O operador módulo devolve o resto de uma divisão inteira.

Por exemplo:

Resultado:

1

Porque:

10 ÷ 3 = 3

e sobra:

1

Outro exemplo:

$resto = 20 % 5;

Resultado:

0

Este operador é muito útil para descobrir, por exemplo, se um número é par ou ímpar.

Um número par dividido por 2 tem sempre resto:

0

Por isso:

produz:

0

Na próxima aula poderemos utilizar este resultado numa condição.

 

5. Prioridade das operações

Tal como na Matemática, as operações não são necessariamente executadas da esquerda para a direita.

Observe:

$resultado = 10 + 5 * 2;

O resultado é:

20

e não:

30

A multiplicação é realizada primeiro:

Se quisermos realizar primeiro a soma:

$resultado = (10 + 5) * 2;

Resultado:

30

Quando uma expressão começa a ficar mais complexa, utilizar parênteses também ajuda a tornar o código mais fácil de compreender.

 

6. Operadores de atribuição

Já conhecemos:

=

Exemplo:

$idade = 17;

Mas existem formas abreviadas de alterar o valor de uma variável.

Imagine:

$saldo = 100;

Queremos adicionar 20:

$saldo = $saldo + 20;

Depois desta instrução:

$saldo → 120

PHP permite escrever a mesma operação de forma abreviada:

$saldo += 20;

Temos vários operadores deste tipo:

Forma abreviadaEquivalente
$x += 5$x = $x + 5
$x -= 5$x = $x - 5
$x *= 5$x = $x * 5
$x /= 5$x = $x / 5
$x %= 5$x = $x % 5

Exemplo:

Resultado:

17

Foram retiradas três unidades ao stock.

 

7. Incremento e decremento

É muito frequente precisarmos de aumentar ou diminuir uma variável em apenas uma unidade.

Podemos escrever:

$contador = $contador + 1;

ou:

$contador += 1;

Mas existe uma forma ainda mais simples:

$contador++;

O operador:

++

incrementa o valor em 1.

Exemplo:

Resultado:

11

Para diminuir uma unidade utilizamos:

$contador--;

Exemplo:

Resultado:

9

Estes operadores serão muito utilizados quando chegarmos aos ciclos.

 

8. Operadores de comparação

Até agora os operadores produziram principalmente números.

Mas os programas também precisam de comparar valores.

Por exemplo:

A idade é igual a 18?

O preço é superior a 100?

O stock é diferente de 0?

Estas comparações produzem um resultado lógico:

true

ou:

false

Os principais operadores são:

OperadorSignificado
==Igual
===Igual em valor e tipo
!=Diferente
<>Diferente
!==Diferente em valor ou tipo
>Maior
<Menor
>=Maior ou igual
<=Menor ou igual

 

9. Comparar valores

Exemplo:

Resultado:

Porque 17 não é maior nem igual a 18.

Se tivermos:

obtemos:

Podemos experimentar outras comparações:

Resultados:

Por enquanto estamos apenas a observar os resultados.

Na próxima aula vamos utilizar estas comparações para tomar decisões.

 

10. Atenção: = não é o mesmo que ==

Esta é uma das diferenças que mais erros provoca quando começamos a programar.

=

significa:

atribuir

Enquanto:

==

significa:

comparar

Por exemplo:

$idade = 17;

significa:

Guarda 17 na variável $idade.

Enquanto:

$idade == 17

significa:

O valor de $idade é igual a 17?

Portanto:

É importante não confundir estas duas operações.

 

11. == e ===

PHP possui duas formas muito comuns de verificar igualdade.

Considere:

Visualmente, os dois valores parecem representar o mesmo número.

Mas os tipos são diferentes:

Se fizermos:

var_dump($numero == $texto);

obtemos:

true

Com ==, PHP compara os valores fazendo conversões de tipo quando aplicável.

Mas:

var_dump($numero === $texto);

produz:

false

Porque === exige que o valor e o tipo sejam iguais.

Podemos resumir:

Esta distinção será importante quando começarmos a receber dados através de formulários.

 

12. Operadores lógicos

Às vezes uma decisão depende de mais do que uma condição.

Imagine:

O utilizador tem 18 anos e possui autorização?

ou:

O pagamento pode ser efetuado por cartão ou MB WAY?

Para combinar condições utilizamos operadores lógicos.

Os principais são:

OperadorSignificado
&&E
||OU
!NÃO

Também existem as palavras and, or e xor, mas nesta fase utilizaremos principalmente &&, || e !, evitando misturar formas diferentes.

 

13. Operador AND &&

Com:

&&

as duas condições têm de ser verdadeiras.

Exemplo:

Temos:

Logo:

true && true → true

Se uma delas for falsa:

true && false → false

 

14. Operador OR ||

Com:

||

basta que uma das condições seja verdadeira.

Resultado:

true

Apesar de $temCartao ser false, $temMbWay é true.

 

15. Operador NOT !

O operador:

!

inverte um valor lógico.

Se:

$esgotado = false;

então:

var_dump(!$esgotado);

produz:

true

Podemos interpretar:

!$esgotado

como:

não está esgotado.

 

16. Tabela lógica simples

AND

ABA && B
truetruetrue
truefalsefalse
falsetruefalse
falsefalsefalse

 

OR

ABA || B
truetruetrue
truefalsetrue
falsetruetrue
falsefalsefalse

Uma forma simples de memorizar:

AND (&&) → todas têm de ser verdadeiras.

OR (||) → pelo menos uma tem de ser verdadeira.

 

17. Operador de concatenação

Já utilizámos este operador na aula anterior:

.

Permite juntar strings e outros valores.

Resultado:

O aluno João tem 17 anos.

Também existe a atribuição com concatenação:

É equivalente a:

$mensagem = $mensagem . " João";

No final:

Olá João

 

18. Exemplo prático — Uma compra

Vamos juntar vários conceitos.

O interessante é que os valores são calculados.

Se alterarmos:

$quantidade = 5;

o subtotal e o total serão novamente calculados sem termos de alterar mais nenhuma parte do programa.

 

19. Pequeno desafio durante a aula

Cria:

Calcula a média das três classificações.

Teremos de pensar na expressão:

Em PHP:

$media = ($nota1 + $nota2 + $nota3) / 3;

Apresenta:

Depois utiliza var_dump() para testar:

$media >= 10

e:

$media >= 18

Observa os resultados.

Na próxima aula aprenderemos a fazer o programa reagir automaticamente a esses resultados.

 

 

Post Anterior