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

Gasoliprecio, busca las estaciones de servicio con el mejor precio

Acortador de URLs. Crea URL’s cortas desde el escritorio

Organizador de listas M3U. Gestión y reproducción con facilidad