Prefiks və postfiks tipi PHP-də

Əslində inkrement və dekrement əməliyyatlarını iki üsulla yazmaq olar. Postfiks şəklində əməliyyat dəyişənin adından sonra yazılır, belə: $a++, prefiks şəklində isə - dəyişənin adından əvvəl, belə: ++$a. Gəlin nümunələr üzərində iki üsul arasındakı fərqi görək.

Aşağıdakı nümunədə birinci echo 0 çıxardacaq, çünki əvvəlcə ekrana çıxış baş verəcək, sonra isə dəyişən artacaq:

php<?php
  $num = 0;
  echo $num++; // 0 çıxardacaq, cunki dəyişən yalnız echo-dan sonra artacaq
  echo $num;   // 1 çıxardacaq - dəyişən dəyişdi
?>

İndi isə dəyişən əvvəlcə artacaq, sonra isə ekrana çıxış olunacaq:

php<?php
  $num = 0;
  echo ++$num; // 1 çıxardacaq - dəyişən dərhal artdı
?>

Bu davranış təkcə ekrana çıxış üçün deyil, həm də təyin etmə üçün də keçərlidir:

php<?php
  $num1 = 0;
  $num2 = $num1++; // $num2 dəyişəninə 0 yazılacaq
  echo $num2;      // 0 çıxardacaq
  echo $num1;      // 1 çıxardacaq - $num1 dəyişəni $num2-ə yazıldıqdan sonra dəyişdi
?>

İndi isə postfiks formasını prefiks forması ilə dəyişək:

php<?php
  $num1 = 0;
  $num2 = ++$num1; // $num2 dəyişəninə 1 yazılacaq
  echo $num2;      // 1 çıxardacaq
?>

Əgər bizim əməliyyatımız ayrı bir sətirdə yerinə yetirilirsə, onda prefiks və postfiks formalari arasında fərq yoxdur:

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

Kodu işə salmadan müəyyən edin ki, ekrana nə çıxarılacaq:

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

Kodu işə salmadan müəyyən edin ki, ekrana nə çıxarılacaq:

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

Kodu işə salmadan müəyyən edin ki, ekrana nə çıxarılacaq:

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

Kodu işə salmadan müəyyən edin ki, ekrana nə çıxarılacaq:

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

Kodu işə salmadan müəyyən edin ki, ekrana nə çıxarılacaq:

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

Kodu işə salmadan müəyyən edin ki, ekrana nə çıxarılacaq:

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

Kodu işə salmadan müəyyən edin ki, ekrana nə çıxarılacaq:

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

Kodu işə salmadan müəyyən edin ki, ekrana nə çıxarılacaq:

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

Kodu işə salmadan müəyyən edin ki, ekrana nə çıxarılacaq:

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