Prefiksa un postfiksa tips PHP

Patiesībā inkrementācijas un dekrementācijas operācijas var ierakstīt divos veidos. Postfiksajā veidā operācija tiek ierakstīta pēc mainīgā nosaukuma, šeit šādi: $a++, bet prefiksajā veidā - pirms mainīgā nosaukuma, šeit šādi: ++$a. Apskatīsim piemēros, kāda ir atšķirība starp abiem veidiem.

Nākamajā piemērā pirmais echo izvadīs 0, jo vispirms notiks izvade uz ekrānu, un tikai pēc tam mainīgais palielināsies:

php<?php
  $num = 0;
  echo $num++; // izvadīs 0, jo mainīgais palielināsies tikai pēc echo
  echo $num;   // izvadīs 1 - mainīgais mainījās
?>

Bet tagad mainīgais vispirms palielināsies, un tikai pēc tam notiks izvade uz ekrānu:

php<?php
  $num = 0;
  echo ++$num; // izvadīs 1 - mainīgais palielinājās uzreiz
?>

Šāda uzvedība ir spēkā ne tikai izvadei uz ekrānu, bet arī piešķiršanai:

php<?php
  $num1 = 0;
  $num2 = $num1++; // mainīgajā $num2 ierakstīsies 0
  echo $num2;      // izvadīs 0
  echo $num1;      // izvadīs 1 - mainīgais $num1 mainījās pēc ierakstīšanas $num2
?>

Tagad nomainīsim postfikso formu uz prefikso:

php<?php
  $num1 = 0;
  $num2 = ++$num1; // mainīgajā $num2 ierakstīsies 1
  echo $num2;      // izvadīs 1
?>

Ja mūsu operācija tiek veikta atsevišķā rindā, tad starpības starp prefikso un postfikso formām nav:

php<?php
  $num = 0;
  ++$num;
  $num++;
  echo $num; // izvadīs 2
?>
Задание 1

Nelaižot kodu, nosakiet, ko izvadīs uz ekrāna:

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

Nelaižot kodu, nosakiet, ko izvadīs uz ekrāna:

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

Nelaižot kodu, nosakiet, ko izvadīs uz ekrāna:

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

Nelaižot kodu, nosakiet, ko izvadīs uz ekrāna:

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

Nelaižot kodu, nosakiet, ko izvadīs uz ekrāna:

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

Nelaižot kodu, nosakiet, ko izvadīs uz ekrāna:

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

Nelaižot kodu, nosakiet, ko izvadīs uz ekrāna:

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

Nelaižot kodu, nosakiet, ko izvadīs uz ekrāna:

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

Nelaižot kodu, nosakiet, ko izvadīs uz ekrāna:

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