Aprender PHP

Assine o RSS

Operadores no PHP

Criado em: 07/03/2010

Introdução aos operadores no PHP

Um operador é utilizado para realizar operações entre um ou mais valores (ou expressões, no jargão de programação) e retornar apenas um valor final. Vamos agora aos operadores.

Operadores aritméticos no PHP

Neste grupo de operadores estão os operadores de operações matemáticas básicas como adição, subtração, multiplicação e divisão. Veja a tabela com os operadores:

Operador Função Exemplo
+ Adição $a + $b
- Subtração $a - $b
* Multiplicação $a * $b
/ Divisão $a / $b
% Módulo (resto da divisão) $a % $b

Veja um exemplo com os operadores aritméticos.

A partir deste ponto não irei incluir todos os elementos necessários para uma página HTML bem formatada de acordo com o W3C, apenas incluirei os códigos PHP, por ser o foco de nosso estudo, caso ainda tenha alguma duvida sobre a integração PHP e HTML visite a página Começando a programar em PHP.

<?php
// Declarando os valores das variáveis
$a = 4;
$b = 2;

?>
<h2>Adição</h2>
<p>
<?php

echo $a + $b;

?>
</p>
<h2>Subtração</h2>
<p>
<?php

echo $a - $b;

?>
</p>
<h2>Multiplicação</h2>
<p>
<?php

echo $a * $b;

?>
</p>
<h2>Divisão</h2>
<p>
<?php

echo $a / $b;

?>
</p>
<h2>Módulo(resto da divisão)</h2>
<p>
<?php

echo $a % $b;

?>
</p>

Observe que o módulo deu zero, pois utilizamos uma operação em que a divisão em que não tinha resto. Veja agora um exemplo em que nossa divisão gera resto.

<?php
// Declarando os valores das variáveis
$a = 5;
$b = 2;

?>
<h1>Valores</h1>
<p>$a possui o valor de <strong><?php echo $a; ?></strong> e $b possui o valor de <strong><?php echo $b; ?></strong></p>
<h2>Módulo(resto da divisão)</h2>
<p>
<?php

echo $a % $b;

?>
</p>

Operadores de Atribuição no PHP

O operador de atribuição é utilizado quando queremos atribuir o valor da expressão que esta a direita ao operando (normalmente uma variável) que esta a sua esquerda (quase como se fosse um “igual a”, como por exemplo x é igual a 1 e y igual a 2).

O operador mais básico de atribuição você já deve estar imaginando é o sinal de igual (=) em que usamos para atribuir todas as nossas variáveis anteriormente. Veja a seguir o uso do operador de atribuição igual e um truque que podemos fazer utilizando operadores aritméticos e expressões.

<?php
// Declarando o valor de a com uma simples expressão
$a = 5 + 3;

echo $a; //imprime 8

?>
<br />
<?php

// Atribuimos o valor de 2 a variavel $c e somamos com
// 5 para ser o valor de b
$b = ( $c = 2 ) + 5;

echo $b; //imprime 7

?>
<br />
<?php

echo $c; //imprime 2

?>

Observe que conseguimos declarar o valor de $a uma simples expressão aritmética, lembrando que você pode utilizar todos os operadores aritméticos que aprendemos anteriormente em sua expressão.

Em seguida criamos a variável $b e $c, sendo $c criada dentro da atribuição de $b sendo assim $b equivale a $c, que equivale a 2, mais 5.

Além do formato de atribuição que aprendemos podemos combinar o operador de atribuição a todos os operadores aritméticos e de string observe 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

Você ainda provavelmente não conhece o operador de concatenação mais não se preocupe, eles serão explicados detalhadamente a seguir.

Veja agora um exemplo utilizando operadores de atribuição em conjunto com os operadores aritméticos.

<?php
// Declarando o valor de a
$a = 5;
// Atribuindo e somando 3 em $a
// ou seja $a = 5 + 3;
$a += 3;

echo $a //imprime 8

?>

Definimos o valor de $a com utilizando o operador de atribuição e adição em conjunto. No entanto observe o exemplo a seguir:

<?php
// Declarando o valor de a
$a = 5;

// Redeclarando o valor de a
$a = 3;

echo $a //imprime 3
// Caso quisessemos somar 3 a $a poderiamos utilizar
// $a = 3
// $a += 5;
//
// Ou ainda
// $a = 5 + 3;

?>

Neste exemplo declaramos $a e em seguida a redeclaramos, não confundir este comportamento ao tentar utilizar os operadores de atribuição em conjunto com os operadores aritméticos. Pois como vimos podemos atribuir valores utilizando os operadores aritméticos ou com operadores de atribuição em conjunto com os operadores aritméticos.

Operadores de string no PHP

O único operador de string que possuímos no PHP é o operador de concatenação, além do que falamos anteriormente que é o de atribuição e concatenação, que é representado pelo . (ponto). O operador de concatenação tem por finalidade unir o conteúdo de duas strings, veja o exemplo:

<?php
// Declaro a variável $titulo
$titulo = 'Operadores de string no PHP';
// Concateno $titulo a $texto
$texto = 'Estou aprendendo sobre ' . $titulo;

echo $texto;

echo '
' . PHP_EOL; // Mesmo exemplo anterior porém utilizando atribuição e concatenação $texto = 'Estou aprendendo sobre '; $texto .= $titulo; echo $texto; ?>

Operador de incremento/decremento no PHP

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 --.

Existem duas formas de incremento/decremento: Pós e Pré.

Pós incremento/decremento no PHP

No pós incremento/decremento o PHP retorna o valor da variável para só depois então a incrementá-la/decrementá-la. Veja o exemplo:

<?php

$a = 10;
$b = $a++; // Primeiro $a é atribuido a $b para só então ser incrementada
$a++;

echo '$a = ' . $a . ' | $b = ' . $b;

?>

Atribuímos o valor de $a++ a variável $b, no entanto como no pós incremento/decremento primeiro retorna o valor para só depois ocorrer o incremento/decremento $b ficou com o valor de $a inicial, ou seja 10, e $a foi incrementado 2 vezes ficando com o valor de 12.

Pré incremento/decremento no PHP

No pré incremento/decremento o PHP primeiro incrementa/decrementa a variável e depois retorna o seu valor. Observe alterando o exemplo anterior:

<?php

$a = 10;
$b = ++$a; // Primeiro $a é incrementada e só depois é atribuido a $b
++$a;

echo '$a = ' . $a . ' | $b = ' . $b;

?>

Atribuímos o valor de ++$a a variável $b, no entanto como no pré incremento/decremento primeiro ocorre o incremento/decremento em seguida retorna o valor para $b, que ficou com o valor de $a inicial incrementado, ou seja 11, e $a foi incrementada novamente ficando com o valor de 12.

Inverter o sinal no PHP

Além de incremento/decremento podemos inverter o sinal de um operador com o sinal de –(menos) veja a seguir:

<?php

$a = 10;
$b = -$a; // Inverte o sinal de $a e atribui a $b


echo '$a = ' . $a . ' | $b = ' . $b;

?>

Como você pode observar apenas alterou o sinal de positivo para negativo, o inverso também é possível.

Fique agora com uma tabela para uma consulta caso tenha duvida nos operadores de incremento e decremento.

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.

Atribuição por referência

Outro meio de atribuir valores a variáveis que o PHP nos fornece é a atribuição por referência. Ou seja, a nova variável será uma referência, um apelido, a variável original sendo assim qualquer alteração na variável original alterará a variável de referencia como qualquer alteração na variável de referência alterara a variável original. Observe:

<?php

// Criamos a variável $b
$b = 'Estamos aprendendo sobre';

// Atribuimos por referência o valor de $b a $a,
// ou seja, ambas agora possuem o mesmo valor
$a = &$b;

// Altero o valor de $a concatenando o com uma string
// caso não tenha entendido a concatenação volte a operadores de string
$a .= ' Atribuição por referência no PHP';

// Exibo $a e $b pulando linhas para melhor vizualização
echo $a;

echo '<br />' . PHP_EOL;

echo $b;

echo '<br />' . PHP_EOL;

// Alterei o valor de $b e como $b foi atribuido por referência a $a
// agora quando altero $b o valor de $a muda também
$b = 'Alterei o valor de $b e sabia que o de $a muda também?';

echo $a;

echo '<br />' . PHP_EOL;

echo $b;

?>

Caso você já tenha programado em PHP ou mesmo em outra linguagem deve estar se perguntado sobre os operadores de comparação, os operadores lógicos e até mesmo o operador ternário. Não se preocupe quando chegarmos em estruturas de controle voltaremos a falar sobre operadores.

Comentários

comments powered by Disqus