Präfix- und Postfix-Typ in PHP

Tatsächlich können Inkrement- und Dekrementoperationen auf zwei Arten geschrieben werden. In postfix Schreibweise wird die Operation nach dem Variablennamen geschrieben, so: $a++, und in präfix Schreibweise - vor dem Variablennamen, so: ++$a. Schauen wir uns an Beispielen an, worin der Unterschied zwischen den beiden Arten liegt.

Im folgenden Beispiel gibt das erste echo 0 aus, da zuerst die Ausgabe auf den Bildschirm erfolgt und erst dann die Variable erhöht wird:

php<?php
  $num = 0;
  echo $num++; // gibt 0 aus, da die Variable erst nach echo erhöht wird
  echo $num;   // gibt 1 aus - Variable hat sich geändert
?>

Und jetzt erhöht sich die Variable zuerst, und erst dann erfolgt die Ausgabe auf den Bildschirm:

php<?php
  $num = 0;
  echo ++$num; // gibt 1 aus - Variable wurde sofort erhöht
?>

Dieses Verhalten gilt nicht nur für die Ausgabe auf den Bildschirm, sondern auch für die Zuweisung:

php<?php
  $num1 = 0;
  $num2 = $num1++; // in die Variable $num2 wird 0 geschrieben
  echo $num2;      // gibt 0 aus
  echo $num1;      // gibt 1 aus - Variable $num1 änderte sich nach der Zuweisung an $num2
?>

Und jetzt ändern wir die Postfix-Form in die Präfix-Form:

php<?php
  $num1 = 0;
  $num2 = ++$num1; // in die Variable $num2 wird 1 geschrieben
  echo $num2;      // gibt 1 aus
?>

Wenn unsere Operation in einer separaten Zeile ausgeführt wird, gibt es keinen Unterschied zwischen Präfix- und Postfix- Formen:

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

Bestimmen Sie, ohne den Code auszuführen, was auf den Bildschirm ausgegeben wird:

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

Bestimmen Sie, ohne den Code auszuführen, was auf den Bildschirm ausgegeben wird:

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

Bestimmen Sie, ohne den Code auszuführen, was auf den Bildschirm ausgegeben wird:

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

Bestimmen Sie, ohne den Code auszuführen, was auf den Bildschirm ausgegeben wird:

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

Bestimmen Sie, ohne den Code auszuführen, was auf den Bildschirm ausgegeben wird:

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

Bestimmen Sie, ohne den Code auszuführen, was auf den Bildschirm ausgegeben wird:

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

Bestimmen Sie, ohne den Code auszuführen, was auf den Bildschirm ausgegeben wird:

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

Bestimmen Sie, ohne den Code auszuführen, was auf den Bildschirm ausgegeben wird:

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

Bestimmen Sie, ohne den Code auszuführen, was auf den Bildschirm ausgegeben wird:

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