Prefixový a postfixový typ v PHP

Operácie inkrementácie a dekrementácie sa v skutočnosti dajú zapísať dvoma spôsobmi. V postfixovom tvare sa operácia zapíše za názov premennej, takto: $a++, a v prefixovom tvare - pred názov premennej, takto: ++$a. Pozrime sa na príkladoch, v čom je rozdiel medzi týmito dvoma spôsobmi.

V nasledujúcom príklade prvý echo vypíše 0, pretože najprv prebehne výstup na obrazovku a až potom sa premenná zvýši:

php<?php
  $num = 0;
  echo $num++; // vypíše 0, pretože premenná sa zvýši až po echo
  echo $num;   // vypíše 1 - premenná sa zmenila
?>

A teraz sa premenná najprv zvýši a až potom bude výstup na obrazovku:

php<?php
  $num = 0;
  echo ++$num; // vypíše 1 - premenná sa zvýšila okamžite
?>

Takéto správanie platí nielen pre výstup na obrazovku, ale aj pre priradenie:

php<?php
  $num1 = 0;
  $num2 = $num1++; // do premennej $num2 sa zapíše 0
  echo $num2;      // vypíše 0
  echo $num1;      // vypíše 1 - premenná $num1 sa zmenila po zápise do $num2
?>

A teraz zmeňme postfixový tvar na prefixový:

php<?php
  $num1 = 0;
  $num2 = ++$num1; // do premennej $num2 sa zapíše 1
  echo $num2;      // vypíše 1
?>

Ak sa naša operácia vykoná na samostatnom riadku, nie je medzi prefixovým a postfixovým tvarom žiadny rozdiel:

php<?php
  $num = 0;
  ++$num;
  $num++;
  echo $num; // vypíše 2
?>
Задание 1

Bez spustenia kódu určite, čo sa vypíše na obrazovku:

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

Bez spustenia kódu určite, čo sa vypíše na obrazovku:

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

Bez spustenia kódu určite, čo sa vypíše na obrazovku:

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

Bez spustenia kódu určite, čo sa vypíše na obrazovku:

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

Bez spustenia kódu určite, čo sa vypíše na obrazovku:

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

Bez spustenia kódu určite, čo sa vypíše na obrazovku:

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

Bez spustenia kódu určite, čo sa vypíše na obrazovku:

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

Bez spustenia kódu určite, čo sa vypíše na obrazovku:

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

Bez spustenia kódu určite, čo sa vypíše na obrazovku:

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