HOME PAGE JAVASCRIPT
Botões Cálculos Datas Essenciais Janelas Flutuantes Menus
HTML CSS FLASH PHP ASP GERADORES CORES MISCELANEA Contato  






Introdução a linguagem PHP - Operadores

 

Operadores de atribuição

O operador de atribuição mais básico é o sinal de igual (=), basicamente ela transfere o valor que estiver na sua direita para a variável ou constante que estiver à sua esquerda. Basicamente temos uma variável ou constante, depois um sinal de igual e o valor que a variável ou constante deverá receber. Veja o exemplo abaixo:

$variavel = 4;

//Valor da variável é 4

Operador de string

O único operador de string que possuímos no PHP é o operador de concatenação que é representado pelo . (ponto). O operador de concatenação tem por finalidade unir o conteúdo de duas strings, veja os exemplos:

<?php
// Declaro a variável $titulo
$titulo = 'Operadores de string no PHP';
// Concateno $titulo a $texto1
$texto1 = 'Estou aprendendo sobre ' . $titulo;
echo $texto1;
?>
resultado:
Estou aprendendo sobre Operadores de string no PHP  
<?php
// Declaro a variável $var1
$var1 = 'Estou aprendendo sobre ';
// Declaro a variável $var2
$var2 = 'Operadores de string no PHP';
// Concateno $var1 a $var2
$texto2 = $var1 . $var2;
echo $texto2;
?>
resultado:
Estou aprendendo sobre Operadores de string no PHP

Operadores aritméticos

Através dos operadores aritméticos podemos realizar as operações matemáticas fundamentais: soma, subtração, divisão e multiplicação tal qual realizamos em uma calculadora comum.
A tabela a seguir exibe a sintaxe desses operadores.

Exemplo Nome Resultado
-$a Negação Oposto de $a.
$a + $b Adição Soma de $a e $b.
$a – $b Subtração Diferença entre $a e $b.
$a * $b Multiplicação Produto de $a e $b.
$a / $b Divisão Quociente de $a por $b.
$a % $b Módulo Resto de $a dividido por $b.

O único operador que talvez nem todos conheçam ou se lembrem é o operador módulo. Funciona assim: Digamos que você divida 13 por 2. O resultado dessa divisão dá 2 e resta 1. Então, se utilizarmos o operador de módulo para esse mesmo cálculo, o resultado será 1.
Se fizéssemos 20 % 3 o resultado seria 2 ou seja, o resto da divisão de 20 por 3.

Podemos combinar o operador de atribuição a todos os operadores aritméticos e de string conforme a tabela a seguir:

Operador Função Exemplo Equivalente a
+= Atribuição e adição $a += $b $a = $a + $b
-= Atribuição e Subtração $a -= $b $a = $a - $b
*= Atribuição e Multiplicação $a *= $b $a = $a * $b
/= Atribuição e Divisão $a /= $b $a = $a / $b
%= Atribuição e Módulo $a %= $b $a = $a % $b
.= Atribuição e concatenação $a .= $b $a = $a . $b
 

Precedência dos operadores - Tabela

A precedência de um operador determina qual operação é realizada primeiro caso nenhum tipo de separador seja usado. Em PHP, a sequência de precedência dos operadores aritméticos é a seguinte:

Multiplicação Divisão Módulo Adição Subtração
* / % + -

Exemplo:

16 - 6 * 2

a resposta é 4 e não 20 porque o operador de multiplicação ("*") tem prioridade sobre o operador de subtração ("-").

Se necessário, parênteses podem ser utilizados para forçar a precedência. Assim,

(16 - 6) * 2

é avaliado como 20.

Se a precedência do operador é igual, a associatividade da esquerda para direita é usada. Associatividade a esquerda significa que a expressão é avaliada da esquerda para direita.

Operadores de comparação

Os operadores de comparação identificam uma relação entre dois valores, retornando verdadeiro ou falso (True ou False). Não existem opções como “mais ou menos”, “um pouco”, “depende”, “quase”… Em outras palavras: É ou não é. Verdade ou mentira. 0 ou 1. Sim ou não.

Tabela com os símbolos dos operadores de comparação e seus significados.

Exemplo Nome Resultado
$a == $b Igual Verdadeiro (TRUE) se $a é igual a $b.
$a === $b Idêntico Verdadeiro (TRUE) se $a é igual a $b, e eles são do mesmo tipo.
$a != $b Diferente Verdadeiro se $a não é igual a $b.
$a <> $b Diferente Verdadeiro se $a não é igual a $b.
$a !== $b Não idêntico Verdadeiro de $a não é igual a $b, ou eles não são do mesmo tipo.
$a < $b Menor que Verdadeiro se $a é estritamente menor que $b.
$a > $b Maior que Verdadeiro se $a é estritamente maior que $b.
$a <= $b Menor ou igual Verdadeiro se $a é menor ou igual a $b.
$a >= $b Maior ou igual Verdadeiro se $a é maior ou igual a $b.

<?php

$valor = 13;

if($valor == 10) {

echo 'A variável é igual a 10!';

}else{

echo 'A variável não é igual a 10!';

}

?>

irá imprimir A variável não é igual a 10!

Obs: No caso do operador de igualdade o motivo de ser utilizado dois iguais (==) ao invés de somente um é porque o sinal de igual é um sinal de atribuição.

PHP oferece sintaxe para utilizar operador ternário. Ele é bastante simples. A sintaxe é a seguinte:

[avaliação condicional] ? [código em caso afirmativo] : [código em caso negativo];
Normalmente ele serve para se obter um valor ou outro, de acordo com uma condição, e imprimir ou atribuir a uma variável, ou executar uma função ou outra, de acordo com uma condição.

Exemplo:
<?php
$valor = 13;
echo ( $valor == 10 ? "A variável é igual a 10!" : "A variável não é igual a 10!" );
?>

<?php
$valor = 13;
$mensagem = $valor == 10 ? "A variável é igual a 10!" : "A variável não é igual a 10!";
echo $mensagem;
?>

Em ambos os casos irá imprimir A variável não é igual a 10! Depois do Interrogação( ? ) vem o TRUE
Depois do Dois Pontos ( : ) vem o FALSE

No PHP existem algumas particularidades quando estamos tratando de comparação de valores. Essas particularidades podem deixar um programador confuso ...

Operadores de incremento/decremento

Os operadores de incremento e decremento são muito parecidos com os operadores aritméticos. Eles permitem que sejam feitas adições (incremento) e subtrações (decremento) direto na variável informada, mas sempre operações unitárias, isto é, soma-se 1 ou subtrai-se 1 da variável. Os operadores de incremento e decremento são respectivamente ++ e --.
Operador Nome Função
++$a Pré-incremento Incrementa $a em um, e então retorna $a.
$a++ Pós-incremento Retorna $a, e então incrementa $a em um.
--$a Pré-decremento Decrementa $a em um, e então retorna $a.
$a-- Pós-decremento Retorna $a, e então decrementa $a em um.
-$a Inverter o sinal Inverte o sinal de $a e retorna $a.
 
A diferença entre pré-incrementar e pós-incrementar está no momento em que é feito esse incremento.

$a=5;
$b=3;
$c=($a++)+$b;
echo "A = $a\nB = $b\nC  $c";
Resultado:
A = 6
B = 3
C = 8

Observe agora o seguinte código:
$a=5;
$b=3;
$c=(++$a)+$b;
echo "A = $a\nB = $b\nC  $c";
Resultado:
A = 6
B = 3
C = 9

A diferença entre os dois códigos é que no primeiro ocorre o seguinte:

  • No primeiro código, atribui-se à variável c o valor de a, incrementa a (a incrementação ocorre após atribuir o valor de c) e depois soma ao valor de b
  • No segundo código, incrementa-se a, atribui o valor de a (já incrementado) à variável c e soma-se o valor de b

Operadores lógicos

Os operadores lógicos realizam comparação entre expressões e retornam verdadeiro (TRUE) ou falso (FALSE), exceto o ! que compara apenas um valor.

Um exemplo disso seria uma comparação na vida real, veja a frase:

Se hoje for feriado e fizer sol, vou a praia.

Neste caso temos duas comparações na frase acima, "hoje for feriado" e "fizer sol". Neste caso, uma comparação lógica com o operador "E" (&& ou and) indicaria ao PHP que, se as duas expressões retornarem um valor verdadeiro (hoje for feriado e faz sol), a ação indicada deverá ser executada.

Veja o exemplo acima no código PHP:

<?php
  if ( $hoje == 'feriado' && $sol === true ) {
    echo 'Vou a praia.';
  }
?>

Tabela com operadores lógicos.

Operador Nome     Exemplo Resultado
AND E $a and $b Verdadeiro (TRUE) se tanto $a quanto $b são verdadeiros ( 10 > 7 ) AND ( 9 == 9 ) Verdadeiro
OR Ou $a or $b Verdadeiro se $a ou $b são verdadeiros. ( 10 > 7 ) OR ( 9 == 9 ) Verdadeiro
XOR Ou exclusivo $a xor $b Verdadeiro se $a ou $b são verdadeiros, mas não ambos. ( 10 > 7 ) XOR ( 9 == 9 ) Falso
! Negação ! $a Verdadeiro se $a não é verdadeiro. ! ( 10 > 7 ) Falso
&& E $a && $b Verdadeiro se tanto $a quanto $b são verdadeiros. ( 10 > 7 ) && ( 9 == 9 ) Verdadeiro
|| Ou $a || $b Verdadeiro se $a ou $b são verdadeiros. ( 10 > 7 ) || ( 9 == 9 ) Verdadeiro
 

 

Abaixo mais exemplos utilizando a função var_dump() que retorna a tipagem da variável (bool) e o valor.

<?php
var_dump( 7 == 7 AND 9 > 7 ); // bool(true) , ambas as expressões são verdadeiras
var_dump( 7 == 7 AND 9 < 7 ); // bool(false) , apenas a primeira expressão é verdadeira
var_dump( 7 == "7" AND 9 > 7 ); // bool(true) , ambas as expressões são verdadeiras
var_dump( 7 === "7" AND 9 > 7 ); // bool(false) , 7 e "7" são de tipos diferentes


var_dump( 7 == 7 OR 9 > 7 ); // bool(true) , ambas as expressões são verdadeiras
var_dump( 7 != 7 OR 9 > 7 ); // bool(true) , a segunda expressão é verdadeira
var_dump( 7 != 7 OR 9 < 7 ); // bool(false) , ambas as expressões são falsas


var_dump( 7 == 7 XOR 9 > 7 ); // bool(false) , ambas as expressões são verdadeiras
var_dump( 7 == 7 XOR 9 < 7 ); // bool(true) , a primeira expressão é verdadeira
var_dump( 7 < 7 XOR 9 > 7 ); // bool(true) , a segunda expressão é verdadeira


var_dump( ! 9 < 7 ); // bool(true) , 9 NÃO é menor que 7
var_dump( ! 9 > 7 ); // bool(false) , 9 é maior que 7


var_dump( 7 == 7 && 9 > 7 ); // bool(true) , ambas as expressões são verdadeiras
var_dump( 7 == 7 && 9 < 7 ); // bool(false) , apenas a primeira expressão é verdadeira


var_dump( 7 == 7 || 9 > 7 ); // bool(true) , ambas as expressões são verdadeiras
var_dump( 7 != 7 || 9 > 7 ); // bool(true) , a segunda expressão é verdadeira
var_dump( 7 != 7 || 9 < 7 ); // bool(false) , ambas as expressões são falsas
?>