6
2012
Programando em PHP #3 – Tipos de Operadores
Vamos começar a falar um pouco de operadores, temos 4 tipos: atribuição, aritméticos, relacionais e lógicos. Vamos conhecer eles melhor então:
- Operador Aritmético, é o mais conhecido entre todos, porque são os operadores utilizados em cálculos matemáticos do nosso dia-a-dia.
+ -> Soma;
- -> Subtração;
* -> Multiplicação;
/ -> Divisão;
% -> Módulo (resto da divisão).
Operações simples:
<?php //Definir valor da variável $soma = “20”; //Vamos somar com mais 10 echo $soma + 10; ?>
Vai ser impresso na tela: 30
Agora para operações mais complexas, procure sempre utilizar parênteses, para separar as prioridades aritmétricas.
Nas operações em uma expressão algébrica, devemos obedecer a seguinte ordem:
- Potenciação ou Radiciação
- Multiplicação ou Divisão
- Adição ou Subtração
Observações quanto à prioridade:
- Antes de cada uma das três operações citadas, deve-se realizar a operação que estiver dentro dos parênteses, colchetes ou chaves.
- A multiplicação pode ser indicada por × ou por um ponto · ou às vezes sem sinal, desde que fique clara a intenção da expressão.
- Muitas vezes devemos utilizar parênteses quando substituímos variáveis por valores negativos.
</pre> <?php //Vamos definir valor de a $a = 5; //Vamos definir valor de b $b = 2; //Uma operação um pouco mais complexa sem utilizar parênteses echo $a+5*10+$b/2; //56 //Agora utilizando parênteses echo ($a+5)*(10+$b/20); //110 ?> <pre>
O que vai ser impresso na tela:
26
110
Ou seja, são valores totalmente diferentes, então, é sempre bom tomar cuidado com o tipo de operação que está realizando.
- Operador de Atribuição, é o mais simples de se entender. É utilizado para atribuir um valor na definição de uma variável, o operador básico é =. Veja alguns exemplos:
<?php /* Vamos utilizar os quatros (4) operadores básicos da matemática em conjunto. <strong>+</strong> -> Soma; <strong>-</strong> -> Subtração; <strong>*</strong> -> Multiplicação; <strong>/</strong> -> Divisão; <strong>%</strong> -> Módulo (resto da divisão). */ //Definimos valor 10 (dez) para todas as variáveis $variavel_soma = 10; $variavel_substracao = 10; $variavel_multiplicacao = 10; $variavel_divisao = 10; //Usando o operador de atribuição $variavel_soma += 2; // Soma 2 na variável $variavel_substracao -= 2; // Subtrai 2 na variável $variavel_multiplicacao *= 2; // Multiplica variável por 2 $variavel_divisao /= 2; // Divide variável por 2 //Vamos imprimir na tela, vamos usar o comando do HTML para pular linha. echo $variavel_soma;; echo $variavel_substracao; echo $variavel_multiplicacao; echo $variavel_divisao; ?>
O que vai ser impresso na tela:
12
8
20
5
- Operador Relacional, é utilizado para realizar comparações entre valores ou expressões, resultando sempre um valor boolean (TRUE ou FALSE).
Vamos ver os tipos de comparadores usados no PHP e em muitas outras linguagens:
| 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 (introduzido no PHP4). |
| $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 (introduzido no PHP4). |
| $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. |
Vamos ver a seguir alguns exemplos com testes lógicos. No primeiro caso, vamos declarar duas variáveis de tipos diferentes, uma integer e a outra string.
<?php
$variavel01 = 100;
$variavel02 = "100";
//Vamos usar uma estrutura de controle chamada if
if($variavel01 == $variavel02){
echo "As duas são iguais";
}
else{
echo "As duas são diferentes";
}
?>
Vai ser impresso na tela: As duas são iguais.
Agora vamos ver se elas são do mesmo tipo, usando “===”:
<?php
$variavel01 = 100;
$variavel02 = "100";
//Vamos usar uma estrutura de controle chamada if
if($variavel01 === $variavel02){
echo "As duas são do mesmo tipo";
}
else{
echo "As duas são de tipos diferentes";
}
?>
Vai ser impresso na tela: As duas são de tipos diferentes.
O PHP considera o valor 0 (zero) como sendo falso em comparações lógicas. Por isso para evitar alguns erros de semântica em retorno de valores calculados por funções que podem retornar tanto um valor booleano ou inteiro, podemos utilizar alguns operadores de comparação:
<?php
$valor = 0;
//0 (zero) sempre é igual a FALSE
if($valor == FALSE){
echo "É falso";
}
?>
Vai ser impresso na tela: É falso.
<?php
$valor = 0;
//Para ver qual o tipo da variavel
if($valor === FALSE){
echo "É tipo FALSE";
}
?>
Vai ser impresso na tela: É tipo FALSE.
<?php
$valor = 0;
//Para ver se a variavel é igual a 0 (zero) e do mesmo tipo que 0 (zero)
if($valor === 0){
echo "0 (zero)";
}
?>
Vai ser impresso na tela: 0 (zero).
- Operador Lógico, é utilizado para combinar expressões lógicas entre si, agrupando testes condicionais.
| Exemplo | Nome | Resultado |
|---|---|---|
| $a and $b | E | Verdadeiro (TRUE) se tanto $a quanto $b são verdadeiros. |
| $a or $b | OU | Verdadeiro se $a ou $b são verdadeiros. |
| $a xor $b | XOR | Verdadeiro se $a ou $b são verdadeiros, mas não ambos. |
| ! $a | NÃO | Verdadeiro se $a não é verdadeiro. |
| $a && $b | E | Verdadeiro se tanto $a quanto $b são verdadeiros. |
| $a || $b | OU | Verdadeiro se $a ou $b são verdadeiros. |
Vamos fazer um exemplo bem banal, mas que vai ser fácil para todos nós:
<?php
$calor = TRUE;
$ferias = TRUE;
if($calor and $ferias){
echo "Vou para praia";
}
?>
Vai ser impresso na tela: Vou para praia.
$calor = TRUE;
$ferias = TRUE;
if($calor xor $ferias){
echo "Eu queria estar na praia";
}
?>
Vai ser impresso na tela: Eu queria estar na praia.

Artigo criado por














Desculpe, mais não entendi nada desta operaçãoecho – ($a+5)*(10+$b/20); //110 – doria para resolver detalhadamente? Desde já agradeço.
[Reply]
Renan M. Pimentel Reply:
February 6th, 2012 at 17:11
Fazendo um correção de erro de digitação, onde estava 20, era pra ser 2, por isso o erro na conta final, mas caso, sua duvida seja outra, segue abaixo a explicação.
Desculpe pelo erro de digitação!
//Vamos definir valor de a
$a = 5;
//Vamos definir valor de b
$b = 2;
//Uma operação um pouco mais complexa sem utilizar parênteses
echo $a+5*10+$b/2; //26
//Agora utilizando parênteses
echo ($a+5)*(10+$b/2); //110
—————————————————————————————————
Vamos lá então, o valor de $a é 5, certo ? E o valor de $b é 2, correto ?
Então, se a gente fizer a conta 5+5*10+2/2 é 56. Porque a gente não separou de uma forma matematicamente correta.
Então se a gente separar por parenteses fica uma conta totalmente diferente..
(5+5)*(10+2/2)
Primeiro passo (5+5) = 10 depois (10+2/2) = 11. Então 10*11 = 110.
[Reply]
Felipe de Morais Reply:
March 3rd, 2012 at 22:44
Se for ajudar o amigo, ae fica assim
a==5
b==2
logo (a+5)*(10+b/20) é igual a (5+5)*(10+2/2)
(10)*(10+1)
10*11
110
[Reply]
Muito bom ,estou gostando muito das aulas ,acompanhei a aprendendo programar do zero, que me foi muito útil ,agora estou partindo para php ,muito legal ,parabéns.
[Reply]
No último algortimo acho que está errado se os dois forem verdadeiro o resultado é falso imposibilitando a execução do código ali dentro,ou seja, não seria escrita nenhuma mensagem.
[Reply]
Cristian Stroparo Reply:
March 31st, 2012 at 23:42
Concordo com o Felipe, e na própria tabela diz que xor é o mesmo que algum verdadeiro, mas não ambos… deve ter esquecido de colocar FALSE pra alguma das vars nesse exemplo
[Reply]