Operadores de Incremento/Decremento

PHP ofrece soporte de operadores de pre- y post-incremento y decremento, estilo-C.

Tabla 10-5. Operadores de Incremento/decremento

EjemploNombreEfecto
++$aPre-incrementoIncrementa $a en uno, y luego devuelve $a.
$a++Post-incrementoDevuelve $a, y luego incrementa $a en uno.
--$aPre-decrementoDecrementa $a en uno, luego devuelve $a.
$a--Post-decrementoDevuelve $a, luego decrementa $a en uno.

Aquí hay un script sencillo de ejemplo:

<?php
echo "<h3>Postincremento</h3>";
$a = 5;
echo
"Debe ser 5: " . $a++ . "<br />\n";
echo
"Debe ser 6: " . $a . "<br />\n";

echo
"<h3>Preincremento</h3>";
$a = 5;
echo
"Debe ser 6: " . ++$a . "<br />\n";
echo
"Debe ser 6: " . $a . "<br />\n";

echo
"<h3>Postdecremento</h3>";
$a = 5;
echo
"Debe ser 5: " . $a-- . "<br />\n";
echo
"Debe ser 4: " . $a . "<br />\n";

echo
"<h3>Predecremento</h3>";
$a = 5;
echo
"Debe ser 4: " . --$a . "<br />\n";
echo
"Debe ser 4: " . $a . "<br />\n";
?>

PHP sigue la convención de Perl cuando trabaja con operaciones aritméticas sobre variables de caracter, y no la convención de C. Por ejemplo, en Perl 'Z'+1 se convierte en 'AA', mientras que en C 'Z'+1 se convierte en '[' ( ord('Z') == 90, ord('[') == 91 ). Note que las variables de caracter pueden ser incrementadas pero no decrementadas.

Ejemplo 10-1. Operaciones Aritméticas sobre Variables de Caracter

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

/*
  Produce una salida similar a la siguiente:

X
Y
Z
AA
AB
AC

*/
?>