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;
?>