Prefiksni i postfiksni tip u PHP
U stvari, operacije inkrementa i dekrementa
mogu se zapisati na dva načina. U postfiksnom
obliku operacija se piše posle imena promenljive,
ovako: $a++, a u prefiksnom
obliku - pre imena promenljive, ovako:
++$a. Hajde da pogledamo na primerima,
u čemu je razlika između ova dva načina.
U sledećem primeru prvi echo će ispisati
0, jer će se prvo izvršiti ispis
na ekran, a tek onda će se promenljiva povećati:
<?php
$num = 0;
echo $num++; // ispisaće 0, jer će se promenljiva povećati tek nakon echo
echo $num; // ispisaće 1 - promenljiva se promenila
?>
A sada će se promenljiva prvo povećati, a tek onda će se izvršiti ispis na ekran:
<?php
$num = 0;
echo ++$num; // ispisaće 1 - promenljiva se odmah povećala
?>
Ovo ponašanje važi ne samo za ispis na ekran, već i za dodelu vrednosti:
<?php
$num1 = 0;
$num2 = $num1++; // u promenljivu $num2 biće upisano 0
echo $num2; // ispisaće 0
echo $num1; // ispisaće 1 - promenljiva $num1 se promenila nakon upisa u $num2
?>
A sada ćemo zameniti postfiksni oblik prefiksnim:
<?php
$num1 = 0;
$num2 = ++$num1; // u promenljivu $num2 biće upisano 1
echo $num2; // ispisaće 1
?>
Ako se naša operacija izvršava u posebnom redu, onda nema razlike između prefiksnog i postfiksnog oblika:
<?php
$num = 0;
++$num;
$num++;
echo $num; // ispisaće 2
?>
Ne pokrećući kod, odredite šta će se ispisati na ekran:
<?php
$num = 3;
echo ++$num;
?>
Ne pokrećući kod, odredite šta će se ispisati na ekran:
<?php
$num = 3;
echo $num++;
?>
Ne pokrećući kod, odredite šta će se ispisati na ekran:
<?php
$num = 3;
echo --$num;
?>
Ne pokrećući kod, odredite šta će se ispisati na ekran:
<?php
$num = 3;
echo $num--;
?>
Ne pokrećući kod, odredite šta će se ispisati na ekran:
<?php
$num1 = 3;
$num2 = ++$num1;
echo $num1;
echo $num2;
?>
Ne pokrećući kod, odredite šta će se ispisati na ekran:
<?php
$num1 = 3;
$num2 = $num1++;
echo $num1;
echo $num2;
?>
Ne pokrećući kod, odredite šta će se ispisati na ekran:
<?php
$num1 = 3;
$num2 = --$num1;
echo $num1;
echo $num2;
?>
Ne pokrećući kod, odredite šta će se ispisati na ekran:
<?php
$num1 = 3;
$num2 = $num1--;
echo $num1;
echo $num2;
?>
Ne pokrećući kod, odredite šta će se ispisati na ekran:
<?php
$num1 = 3;
$num1++;
$num2 = $num1--;
echo $num1++;
echo --$num2;
?>