Operadores de Incremento/Decremento

O PHP suporta operadores de pré e pós-incremento e decremento no estilo C.

Tabela 15-5. Operadores de Incremento/Decremento

ExemploNomeEfeito
++$aPré-incrementoIncrementa $a em um, e então retorna $a.
$a++Pós-incrementoRetorna $a, e então incrementa $a em um.
--$aPré-decrementoDecrementa $a em um, e então retorna $a.
$a--Pós-decrementoRetorna $a, e então decrementa $a em um.

Aqui está um script de exemplo simples:

<?php
echo "<h3>Pós-incremento</h3>";
$a = 5;
echo
"Deve ser 5: " . $a++ . "<br />\n";
echo
"Deve ser 6: " . $a . "<br />\n";

echo
"<h3>Pré-incremento</h3>";
$a = 5;
echo
"Deve ser 6: " . ++$a . "<br />\n";
echo
"Deve ser 6: " . $a . "<br />\n";

echo
"<h3>Pós-decremento</h3>";
$a = 5;
echo
"Deve ser 5: " . $a-- . "<br />\n";
echo
"Deve ser 4: " . $a . "<br />\n";

echo
"<h3>Pré-decremento</h3>";
$a = 5;
echo
"Deve ser 4: " . --$a . "<br />\n";
echo
"Deve ser 4: " . $a . "<br />\n";
?>

O PHP segue a convenção Perl quando tratando operações aritmétricas em variavéis caracter em vez da convenção C. Por exemplo, em Perl 'Z'+1 se torna 'AA', enquanto que no C 'Z'+1 se torna '[' ( ord('Z') == 90, ord('[') == 91 ). Note que variáveis caracter podem ser incrementadas mas não decrementadas.

Exemplo 15-1. Operações aritmétricas em variáveis caracter

<?php
$i
= 'W';
for(
$n=0; $n<6; $n++)
  echo ++
$i . "\n";

/*
  Produz uma saida similar a seguinte:

X
Y
Z
AA
AB
AC

*/
?>