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
Sáb Out 18, 2014 12:29 am por orthon
» Iniciante Smudge
Qui Ago 21, 2014 2:56 am por Cdubb
» Um Novo Aprendiz!
Qui Ago 21, 2014 2:50 am por Cdubb
» Eaw galera
Qua Ago 13, 2014 5:09 am por Cdubb
» [PSD] Tutorial !
Sáb Ago 31, 2013 5:22 pm por Paulo_ComandBR
» Reasource Pack #1 Hawkdesign
Ter Jun 18, 2013 11:46 pm por edicelio
» [ Sing ]Capitão America
Dom Jun 02, 2013 1:50 am por edicelio
» Minha Primeira Borda Modelada
Dom Jun 02, 2013 1:47 am por edicelio
» V for Vendetta
Dom Jun 02, 2013 1:40 am por edicelio
» Gamer *--*
Qui maio 30, 2013 10:58 pm por ϟƘƦƖןןΣx
» [Scorpion]Sign
Qui maio 30, 2013 4:02 pm por ϟƘƦƖןןΣx
» Avaliem o kit ?
Qui maio 30, 2013 3:45 pm por ϟƘƦƖןןΣx
» Leilão sign Jimi Hendrix
Qui maio 30, 2013 2:31 pm por ϟƘƦƖןןΣx
» Doações para o forum!
Qui maio 30, 2013 2:06 pm por ϟƘƦƖןןΣx
» Apresentação
Qua maio 29, 2013 10:10 pm por ϟƘƦƖןןΣx