Tipo prefijo y postfijo en PHP

En realidad, las operaciones de incremento y decremento se pueden escribir de dos maneras. En forma postfija la operación se escribe después del nombre de la variable, así: $a++, y en forma prefija - antes del nombre de la variable, así: ++$a. Veamos con ejemplos cuál es la diferencia entre las dos formas.

En el siguiente ejemplo el primer echo mostrará 0, ya que primero se realizará la salida a la pantalla, y solo después la variable aumentará:

php<?php
  $num = 0;
  echo $num++; // mostrará 0, porque la variable aumentará solo después de echo
  echo $num;   // mostrará 1 - la variable cambió
?>

Y ahora la variable aumentará primero, y solo entonces se realizará la salida a la pantalla:

php<?php
  $num = 0;
  echo ++$num; // mostrará 1 - la variable aumentó inmediatamente
?>

Este comportamiento es válido no solo para la salida a pantalla, sino también para la asignación:

php<?php
  $num1 = 0;
  $num2 = $num1++; // en la variable $num2 se guardará 0
  echo $num2;      // mostrará 0
  echo $num1;      // mostrará 1 - la variable $num1 cambió después de guardar en $num2
?>

Y ahora cambiemos la forma postfija por la prefija:

php<?php
  $num1 = 0;
  $num2 = ++$num1; // en la variable $num2 se guardará 1
  echo $num2;      // mostrará 1
?>

Si nuestra operación se realiza en una línea separada, entonces no hay diferencia entre las formas prefija y postfija:

php<?php
  $num = 0;
  ++$num;
  $num++;
  echo $num; // mostrará 2
?>
Задание 1

Sin ejecutar el código, determine qué se mostrará en la pantalla:

php<?php
  $num = 3;
  echo ++$num;
?>
Задание 2

Sin ejecutar el código, determine qué se mostrará en la pantalla:

php<?php
  $num = 3;
  echo $num++;
?>
Задание 3

Sin ejecutar el código, determine qué se mostrará en la pantalla:

php<?php
  $num = 3;
  echo --$num;
?>
Задание 4

Sin ejecutar el código, determine qué se mostrará en la pantalla:

php<?php
  $num = 3;
  echo $num--;
?>
Задание 5

Sin ejecutar el código, determine qué se mostrará en la pantalla:

php<?php
  $num1 = 3;
  $num2 = ++$num1;
  echo $num1;
  echo $num2;
?>
Задание 6

Sin ejecutar el código, determine qué se mostrará en la pantalla:

php<?php
  $num1 = 3;
  $num2 = $num1++;
  echo $num1;
  echo $num2;
?>
Задание 7

Sin ejecutar el código, determine qué se mostrará en la pantalla:

php<?php
  $num1 = 3;
  $num2 = --$num1;
  echo $num1;
  echo $num2;
?>
Задание 8

Sin ejecutar el código, determine qué se mostrará en la pantalla:

php<?php
  $num1 = 3;
  $num2 = $num1--;
  echo $num1;
  echo $num2;
?>
Задание 9

Sin ejecutar el código, determine qué se mostrará en la pantalla:

php<?php
  $num1 = 3;
  $num1++;
  $num2 = $num1--;
  echo $num1++;
  echo --$num2;
?>