Aritméticos
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.
+ adição
- subtracção
* multiplicação
/ divisão
% módulo
Strings
Só há um operador exclusivo para strings:
. concatenação
Atribuição
Existe um operador básico de atribuição e diversos derivados. Devolvem sempre 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.
= 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
Exemplo:
$a = 7;
$a += 2; // $a passa a conter o valor 9
bit a bit
Comparam dois números bit a bit.
& "e" lógico
| "ou" lógico
^ ou exclusivo
~ não (inversão)
<< shift left
>> shift right
Lógicos
Utilizados para inteiros representando valores booleanos
and "e" lógico
or "ou" lógico
xor ou exclusivo
! não (inversão)
&& "e" lógico
|| "ou" lógico
Existem dois operadores para "e" e para "ou" porque têm diferentes posições na ordem de precedência.
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.
== igual a
!= diferente de
< menor que
> maior que
<= menor ou igual a
>= maior ou igual a
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 devolve o valor de expressão2, senão, devolve o valor de expressão3.
Incremento e decremento
++ incremento
-- decremento
Podem ser utilizados de duas formas: antes ou depois da variável. Quando utilizado antes, devolve 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
1. esquerda ,
2. esquerda or
3. esquerda xor
4. esquerda and
5 direita print
6 esquerda = += _= *= /= .= %= &= != ~= «= »=
7 esquerda ?:
8 esquerda ||
9 esquerda &&
10 esquerda |
11 esquerda ^
12 esquerda &
13 não associa == !=
14 não associa <<= >>=
15 esquerda << >>
16 esquerda +-
17 esquerda */%
18 direita !~++--(int) (double) (string) (array) (object) @
19 direita [
20 não associa new
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.
+ adição
- subtracção
* multiplicação
/ divisão
% módulo
Strings
Só há um operador exclusivo para strings:
. concatenação
Atribuição
Existe um operador básico de atribuição e diversos derivados. Devolvem sempre 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.
= 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
Exemplo:
$a = 7;
$a += 2; // $a passa a conter o valor 9
bit a bit
Comparam dois números bit a bit.
& "e" lógico
| "ou" lógico
^ ou exclusivo
~ não (inversão)
<< shift left
>> shift right
Lógicos
Utilizados para inteiros representando valores booleanos
and "e" lógico
or "ou" lógico
xor ou exclusivo
! não (inversão)
&& "e" lógico
|| "ou" lógico
Existem dois operadores para "e" e para "ou" porque têm diferentes posições na ordem de precedência.
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.
== igual a
!= diferente de
< menor que
> maior que
<= menor ou igual a
>= maior ou igual a
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 devolve o valor de expressão2, senão, devolve o valor de expressão3.
Incremento e decremento
++ incremento
-- decremento
Podem ser utilizados de duas formas: antes ou depois da variável. Quando utilizado antes, devolve 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
1. esquerda ,
2. esquerda or
3. esquerda xor
4. esquerda and
5 direita print
6 esquerda = += _= *= /= .= %= &= != ~= «= »=
7 esquerda ?:
8 esquerda ||
9 esquerda &&
10 esquerda |
11 esquerda ^
12 esquerda &
13 não associa == !=
14 não associa <<= >>=
15 esquerda << >>
16 esquerda +-
17 esquerda */%
18 direita !~++--(int) (double) (string) (array) (object) @
19 direita [
20 não associa new
Comment