Inicio Apuntes FPApuntes DAW Ejercicio Básico 3 PHP: Incrementos y Decrementos
php logo

Ejercicio Básico 3 PHP: Incrementos y Decrementos

por entreunosyceros
Publicado el: Última actualización:

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.

php básico, incrementos y decrementos

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


También te puede interesar ...

Deja tu comentario

* Al utilizar este formulario, acepta que este sitio web almacene y maneje sus datos.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.