Ejercicio Básico 3 PHP: Incrementos y Decrementos

AVISO: Esta entrada tiene más de dos años desde su publicación. Es posible que el contenido esté desactualizado.

Este post va a ir dedicado a los Incrementos y Decrementos en PHP. Hay que decir que son conceptos un poco confusos al principio pero que una vez que se le coja el truco.

PHP soporta operadores estilo C de pre- y post-incremento y decremento.

Nota: Los operadores de incremento/decremento solamente afectan a números y strings. Los arrays, objects y resources no se ven afectados. Decrementar valores NULL tampoco tiene efecto, pero incrementarlos entonces resulta en 1.

Incrementos y decrementos:

  • Postincremento: Quiere decir que primero imprime el valor de la variable y después se le suma uno al valor.
  • Preincremento: Quiere decir que primero suma uno al valor de la variable y después imprime dicho valor.
  • Postdecremento: Quiere decir que primero imprime el valor de la variable y después resta uno al valor.
  • Predecremento: Quiere decir que primero se le resta uno al valor de la variable y después imprime dicho valor.
echo "<p>
<h3>Postincremento</h3>
</p>";
$a = 5;
echo "La variable $a vale $a al comienzo: <br/>";
echo "Debe ser 5: " . $a++ . "<br/>n";
echo "Debe ser 6: " . $a . "<br/>n";
echo "<h3>Preincremento</h3>";
$a = 5;
echo "La variable $a vale $a al comienzo: <br/>";
echo "Debe ser 6: " . ++$a . "<br/>n";
echo "Debe ser 6: " . $a . "<br/>n";
echo "<h3>Postdecremento</h3>";
$a = 5;
echo "La variable $a vale $a al comienzo: <br/>";
echo "Debe ser 5: " . $a-- . "<br/>n";
echo "Debe ser 4: " . $a . "<br/>n";
echo "<h3>Predecremento</h3>";
$a = 5;
echo "La variable $a vale $a al comienzo: <br/>";
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 caracteres y no la de C. Por ejemplo, en PHP y Perl $a = ‘Z’; $a++; convierte $a en ‘AA’, mientras que en C a = ‘Z’; a++; convierte a en ‘[‘ (el valor ASCII de ‘Z’ es 90, el valor ASCII de ‘[‘ es 91). Nótese que las variables de caracteres pueden ser incrementadas pero no decrementadas y aun así sólo caracteres y dígitos de ASCII puro (a-z, A-Z y 0-9) están soportados. Incrementar o decrementar otras variables de caracteres no tiene efecto, el string original no se modifica.

Más info

Post relacionados

excusApp. Una app para generar excusas (y memes) con ayuda de IA

NivelAzo. Una App de nivel para Android con Kotlin

Los peces y sus cosas. Una aplicación para gestionar tu acuario doméstico