Dicas Vas-y.com

Menu

Forum

6. Operadores

 

Aritméticos

tabela1

+adição
-subtração
*multiplicação
/divisão
%módulo

Só podem ser utilizados quando os operandos são números (integer ou float). Se forem de outro tipo, terão seus valores convertidos antes da realização da operação (tabela 1).

de strings

Só há um operador exclusivo para strings:

.concatenação

 

 

de atribuição

tabela 2

=atribuição simples
+=atribuição com adição
-=atribuição com subtração
*=atribuição com multiplicação
/=atribuição com divisão
%=atribuição com módulo
.=atribuição com concatenação

Existe um operador básico de atribuição e diversos derivados. Sempre retornam o valor atribuído. No caso dos operadores derivados de atribuição, a operação é feita entre os dois operandos, sendo atribuído o resultado para o primeiro. A atribuição é sempre por valor, e não por referência (tabela 2).
 

Exemplo:

$a = 7;

$a += 2; // $a passa a conter o valor 9
 
 

 

 

bit a bit Lógicos
Comparam dois números bit a bit. / Utilizados para inteiros representando valores booleanos
&"e" lógico
|"ou" lógico
^ou exclusivo
~não (inversão)
<<shift left
>>shift right
and"e" lógico
or"ou" lógico
xorou exclusivo
!não (inversão)
&&"e" lógico
||"ou" lógico

Existem dois operadores para "e" e para "ou porque eles têm diferentes posições na ordem de precedência.

tabela3

==igual a
!=diferente de
<menor que
>maior que
<=menor ou igual a
>=maior ou igual a

 
  Comparação

As comparações são feitas entre os valores contidos nas variáveis, e não as referências. Sempre retornam um valor booleano (tabela3).

Expressão condicional

Existe um operador de seleção que é ternário. Funciona assim:

(expressao1)?(expressao2):( expressao3)

    o interpretador PHP avalia a primeira expressão. Se ela for verdadeira, a expressão retorna o valor de expressão2. Senão, retorna o valor de expressão3.
 
 

de incremento e decremento

++incremento
--decremento

Podem ser utilizados de duas formas: antes ou depois da variável. Quando utilizado antes, retorna o valor da variável antes de incrementá-la ou decrementá-la. Quando utilizado depois, retorna o valor da variável já incrementado ou decrementado.

Exemplos:

$a = $b = 10; // $a e $b recebem o valor 10

$c = $a++; // $c recebe 10 e $a passa a ter 11

$d = ++$b; // $d recebe 11, valor de $b já incrementado
 
 

Ordem de precedência dos operadores

A tabela a seguir mostra a ordem de precedência dos operadores no momento de avaliar as expressões;

Precedência
Associatividade
Operadores
 
esquerda
,
 
esquerda
or
 
esquerda
xor
 
esquerda
and
 
direita
print
 
esquerda
= += -= *= /= .= %= &= != ~= <<= >>=
 
esquerda
? :
 
esquerda
||
 
esquerda
&&
 
esquerda
|
 
esquerda
^
 
esquerda
&
 
não associa
== !=
 
não associa
< <= > >=
 
esquerda
<< >>
 
esquerda
+ - .
 
esquerda
* / %
 
direita
! ~ ++ -- (int) (double) (string) (array) (object) @
 
direita
[
 
não associa
new
voltar