O que é Operador? Um operador é um símbolo ou palavra-chave que realiza uma operação em um ou mais valores para produzir um resultado.
Exemplo:
Dada a expressão 4 + 5 é igual a 9. Aqui, 4 e 5 são chamados de operandos e o + é chamado de operador.
Um operador recebe um ou mais valores, conhecidos como operandos, e executa uma operação específica neles. A operação no exemplo acima é a soma e o resultado 9.
Classificação dos Operadores
Os operadores podem ser classificados em:
Operador Atribuição
representado pelo =
<?php
$a = 10;
$b = 19;
?>
Operador unário
que vem antes de um único operando. Exemplo +10 ou -19.
<?php
$a = +10;
$b = -19;
?>
Operador Binário
que recebem dois operandos. Exemplo: 5 + 10 ou 10 / 2.
<?php
$a = 5 + 10;
$b = 10 / 2;
?>
Operador condicional ou operador ternário
o operador ternário é o ?: e ele cria uma condição. Por exemplo, 10 é maior que 11? então faça isso : se não faça aquilo.
<?php
$a = 10;
$b = 11;
$a > $b? $texto = '$a é maior que $b' : $texto = '$a não é maior que $b';
?>
O resultado será $a não é maior que $b pois $a é 10 e $b é 11
Tipos de Operadores
PHP suporta muitos tipos de operadores:
- Operadores aritméticos
- Operadores de Atribuição
- Operadores bitwise(ou bit a bit)
- Operadores de comparação
- Operadores de Incremento/Decremento
- Operadores lógicos ou relacionais
- Operadores de concacatenação
- Operadores de condição ou ternário
Vamos ver alguns operadores.
Operadores aritméticos
Nos exemplos abaixo “A = 10” e “B = 20”:
Operador | Descrição | Examplo |
---|---|---|
+ | soma dois operandos | A + B resultado é 30 |
– | Subtrai | A – B resultado é -10 |
* | multiplica os operandos | A * B resultado é 200 |
/ | Divide | B / A resultado é 2 |
% | Operador de módulo exibe o resto de uma divisão | B % A resultado é 0 |
++ | operador de incremento, aumenta o valor inteiro em um | A++ resultado é 11 |
— | Operador de decremento, diminui o valor inteiro em um | A– resultado é 9 |
Operadores de Atribuição
O operador de atribuição ( =) atribui um valor a uma variável e retorna um valor.
O operando à esquerda é sempre uma variável, enquanto o operando à direita pode ser um número(integer, float…), uma variável, expressão ou uma função que retorna um valor.
<?php
$x = 10;
$y = $x;
$z = ($x = 20); // $z é igual a 20
?>
Acima, atribuímos 10 à variável $x e depois atribuímos $x para $y e em seguida atribuímos ($x = 20) para $z.
O PHP fornece alguns outros operadores de atribuição.
Para os exemplos abaixo $a = 10.
- += Uma variável é igual a ela mesma mais a atribuição. Exemplo: $a += 5 então $a será 15
- -+ Uma variável é igual a ela mesma menos a atribuição. Exemplo: $a -= 5 então $a será 5
- /= Uma variável é igual a ela mesma dividido pela atribuição. Exemplo: $a /= 5 então $a será 2
- *= Uma variável é igual a ela mesma multiplicado pela atribuição. Exemplo: $a /= 5 então $a será 2
- %= Uma variável é igual ao resto da divisão dela mesma pela atribuição. Exemplo: $a %= 5 então $a será 0
- .= Uma variável é igual a ela mesma concatenada pela atribuição. Exemplo: $a .= 5 então $a 105
Operadores bitwise(ou bit a bit)
Os operadores bitwise realizam operações binárias dos operandos.
Não vou colocar exemplos na tabela a seguir. Por enquanto, só entenda que esses operadores trabalham com bits. Quando falamos de bits falamos de 1 ou 0. Todo valor é representado por zeros e uns.
Operadores | Nome | Resultado |
---|---|---|
$x & $y | E igual ao and ou && | Se ambos os bits forem 1, o bit correspondente no resultado será 1; caso contrário, o bit correspondente é 0 |
$x | $y | Ou (inclusive or) | Se ambos os bits forem 0, o bit correspondente no resultado será 0; caso contrário, o bit correspondente é 1 |
$x ^ $y | Xor (exclusivo or) | Se um dos bits, mas não ambos, em $x e $y forem 1, o bit correspondente no resultado será 1; caso contrário, o bit correspondente é 0 |
~ $x | Não | Altere o bit 1 para 0 e 0 para 1 no operando $x |
$x << $y | Deslocar para a esquerda | Desloca os bits à $x esquerda pelo número de casas especificadas por $y . |
$x >> $y | Deslocar para a direita | Desloca os bits para a $x direita pelo número de casas especificado por $y . |
Operadores de de comparação
O operador de comparação retorna um valor booleano, verdadeiro ou falso.
Nos exemplos abaixo “A = 10” e “B = 20”:
== | Igualdade | Retorna true se ambos os operandos forem iguais, caso contrário retorna false . | A == B é falso, pois A é 10 e B 20. |
=== | Identidade | Retorne true se ambos os operandos tiverem o mesmo tipo de dados e se forem iguais, caso contrário, retorna false . | A === B é falso pois, mesmo ambos sendo inteiros, possuem valores diferentes. |
!=== | Não idênticos | Retorna true se ambos os operandos não forem iguais ou não tiverem o mesmo tipo de dados, caso contrário, retorna false . | A > B retorna falso pois A é menor que B, A é 10 e B é 20. |
> | Maior que | Retorne true se o operando à esquerda for maior que o operando à direita, caso contrário, retorna false . | A > B retorna falso pois A é menor que B, A é 10 e B é 20. |
>= | maior que ou igual a | Retorna true se o operando à esquerda for maior ou igual ao operando à direita, caso contrário, retorna false . | A >= B retorna falso pois A é menor que B, A é 10 e B é 20. |
< | Menor que | Retorne true se o operando à esquerda for menor que o operando à direita, caso contrário, retorna false . | A > B retorna verdadeiro pois A é menor que B, A é 10 e B é 20. |
<= | Menor ou igual | Retorna true se o operando à esquerda for menor ou igual ao operando à direita, caso contrário, retorna false . | A > B retorna falso pois A é menor que B, A é 10 e B é 20. |
Operadores de Incremento/Decremento
Os operadores de incremento (++) e decremento (–) oferecem uma maneira rápida de aumentar e diminuir o valor de uma variável.
Nos exemplos a seguir $a = 10.
++$a | Pré-incremento | $a + 1 | $a = 11 agora. Incrementa $a em 1 e, em seguida, retorna $a . |
$a++ | Pós-incremento | $a | $a também é 11, mas retorna $a como 10 primeiro e incrementa em 1 só depois, isto é, você só verá o valor de $a como 11 apenas na próxima linha. |
--$a | Pré-decremento | $a - 1 | $a é 9. Decrementa $a em 1 e já retorna $a decrementado. |
$a-- | Pós-decremento | $a | $a é 9. Retorna $a como 10 e diminui $a em 1 logo após, isto é, você verá o valor de $a como 9 na próxima linha do código. |
Exemplo:
<?php
$a = 10;
echo "\$a é igual a " . $a; //o valor de $a é 10
echo "<br>";
echo "\++$a é igual a " . ++$a; //o valor de $a é 11
echo "<br>";
echo "\++$a é igual a " . ++$a; //o valor de $a é 12
echo "<br>";
echo "\--$a é igual a " . --$a; //o valor de $a é 11 novamente
echo "<br>";
echo "\$a++c é igual a " . $a++; //o valor ainda é 11 mas na próxima linha será 12
echo "<br>";
echo $a; //o valor de $a aqui já é 12
?>
Resultado:
$a é igual a 10 \++10 é igual a 11 \++11 é igual a 12 \--12 é igual a 11 $a++c é igual a 11 12
Operadores lógicos ou relacionais
Os operadores lógicos permitem que você construa expressões lógicas. Um operador lógico retorna um valor booleano.
&& ou and | E Lógico | Retorna true se ambos os operandos forem verdadeiros , caso contrário retorna falso . Se o primeiro operando for falso , ele não avaliará o segundo operando porque sabe com certeza que o resultado será falso . | (A != B) and (A < B) ) retorna verdadeiro pois A é diferente de B e A é menor que B |
|| | OU lógico | Retorna true se um dos operandos for true (verdadeiro), caso contrário retorna false . Se o primeiro operando for true , não avaliará o segundo. | (A != B) or (A < B) ) retorna verdadeiro pois ambas as expressões são verdadeiras |
xor | XOR lógico | Retorne true se um dos operandos, não ambos, for true , caso contrário, retorne false . | (A != B) xor (A < B) ) retorna falso pois ambas as expressões são verdadeiras |
! | Negação | retorna true se o operando for false , e retorna false se o operando for true . | !(A != B) retorna verdadeiro pois inverte o valor que antes era verdadeiro. !(A < B) retorna falso também. |
Operadores de concacatenação
O operador de concatenação (.) permite combinar duas strings em uma.
<?php
$str = 'PHP' . ' é ' . ' incrível!';
echo $str;
?>
Operadores de condição ou ternário
O operador ?: é similar ao if de que usamos brevemente acima.
Operador | Descrição | Exemplo |
---|---|---|
? : | Expressão Condicional | Condição é verdadeira? Então valor exiba X : Caso contrário valor exiba Y |
Exemplo:
Se $a
<?php
$a = 10;
$a < 40? $texto='\$a é menor que 5' : $texto='$a não é menor';
echo $texto;
?>
O resultado será $a é menor que 5
Precedência e Ordem de Avaliação dos Operadores
Dentro de uma expressão, os operadores de maior precedência serão avaliados primeiro; por exemplo, o operador de multiplicação tem maior precedência do que o operador de adição.
Veja:
x = 7 + 3 * 2
Acima, o resultado final será 13 e não 20, porque o operador * tem precedência maior que o +, então ele primeiro é multiplicado por 3 * 2 e só depois somado por 7. No final de tudo, x = 13.
Categoria | Operador | Associatividade |
---|---|---|
Unário | ! ++ — | Direita para esquerda |
Multiplicativo | * / % | Da esquerda para direita |
Aditivo | + – | Da esquerda para direita |
Relacional | < <= > >= | Da esquerda para direita |
Igualdade | == != | Da esquerda para direita |
E Lógico | && | Da esquerda para direita |
OU lógico | || | Da esquerda para direita |
Condicional | ?: | Direita para esquerda |
Atribuição | = += -= *= /= %= | Direita para esquerda |
Conclusão
Vimos sobre operadores e sua precedência, suas prioridades na hora de serem analisados ou usados pelo PHP.
Comments on “PHP – Aula 011: Operadores(+, -, *, /, %, ++, –)”