Prefiks- ja postfikstüüp PHP-s

Tegelikult saab inkrementimise ja dekrementimise operatsioone kirjutada kahel viisil. Postfikses vormis kirjutatakse operatsioon muutuja nime järele, nagu nii: $a++, ja prefikses vormis - muutuja nime ette, nagu nii: ++$a. Vaatame näidete varal, mis vahe on kahel viisil.

Järgmises näites kuvab esimene echo väärtuse 0, kuna kõigepealt toimub väljastamine ekraanile ja alles seejärel muutuja suureneb:

php<?php
  $num = 0;
  echo $num++; // väljastab 0, sest muutuja suureneb alles pärast echo'd
  echo $num;   // väljastab 1 - muutuja on muutunud
?>

Nüüd suureneb muutuja kõigepealt ja alles seejärel toimub väljastamine ekraanile:

php<?php
  $num = 0;
  echo ++$num; // väljastab 1 - muutuja suurenes kohe
?>

Selline käitumine kehtib mitte ainult väljastamise korral, vaid ka omistamise korral:

php<?php
  $num1 = 0;
  $num2 = $num1++; // muutujasse $num2 kirjutatakse 0
  echo $num2;      // väljastab 0
  echo $num1;      // väljastab 1 - muutuja $num1 muutus pärast $num2-sse kirjutamist
?>

Nüüd muudame postfiksvormi prefiksvormiks:

php<?php
  $num1 = 0;
  $num2 = ++$num1; // muutujasse $num2 kirjutatakse 1
  echo $num2;      // väljastab 1
?>

Kui meie operatsioon sooritatakse eraldi real, siis prefiks- ja postfiksvormi vahel puudub vahe:

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

Koodi käivitamata määrake, mis kuvatakse ekraanil:

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

Koodi käivitamata määrake, mis kuvatakse ekraanil:

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

Koodi käivitamata määrake, mis kuvatakse ekraanil:

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

Koodi käivitamata määrake, mis kuvatakse ekraanil:

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

Koodi käivitamata määrake, mis kuvatakse ekraanil:

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

Koodi käivitamata määrake, mis kuvatakse ekraanil:

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

Koodi käivitamata määrake, mis kuvatakse ekraanil:

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

Koodi käivitamata määrake, mis kuvatakse ekraanil:

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

Koodi käivitamata määrake, mis kuvatakse ekraanil:

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