Префиксен и постфиксен тип во PHP

Всушност, операциите инкремент и декремент можат да се запишат на два начина. Во постфиксен вид операцијата се запишува по името на променливата, вака: $a++, а во префиксен вид - пред името на променливата, вака: ++$a. Ајде да погледнеме со примери, во што се разликуваат двата начина.

Во следниот пример првиот echo ќе испише 0, бидејќи прво ќе се активира печатењето на екранот, а дури потоа променливата ќе се зголеми:

php<?php
  $num = 0;
  echo $num++; // ќе испише 0, бидејќи променливата ќе се зголеми дури после echo
  echo $num;   // ќе испише 1 - променливата се смени
?>

А сега променливата прво ќе се зголеми, а дури потоа ќе се испечати на екранот:

php<?php
  $num = 0;
  echo ++$num; // ќе испише 1 - променливата се зголеми веднаш
?>

Ваквото однесување важи не само за печатење на екранот, туку и за доделување:

php<?php
  $num1 = 0;
  $num2 = $num1++; // во променливата $num2 ќе се запише 0
  echo $num2;      // ќе испише 0
  echo $num1;      // ќе испише 1 - променливата $num1 се смени после запишувањето во $num2
?>

А сега да ја смениме постфиксната форма со префиксната:

php<?php
  $num1 = 0;
  $num2 = ++$num1; // во променливата $num2 ќе се запише 1
  echo $num2;      // ќе испише 1
?>

Ако нашата операција се извршува во поседен ред, тогаш нема разлика помеѓу префиксната и постфиксната форма:

php<?php
  $num = 0;
  ++$num;
  $num++;
  echo $num; // ќе испише 2
?>
Задание 1

Без да го стартувате кодот, определете што ќе се испечати на екранот:

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

Без да го стартувате кодот, определете што ќе се испечати на екранот:

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

Без да го стартувате кодот, определете што ќе се испечати на екранот:

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

Без да го стартувате кодот, определете што ќе се испечати на екранот:

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

Без да го стартувате кодот, определете што ќе се испечати на екранот:

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

Без да го стартувате кодот, определете што ќе се испечати на екранот:

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

Без да го стартувате кодот, определете што ќе се испечати на екранот:

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

Без да го стартувате кодот, определете што ќе се испечати на екранот:

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

Без да го стартувате кодот, определете што ќе се испечати на екранот:

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