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
$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
$num = 0;
echo ++$num; // väljastab 1 - muutuja suurenes kohe
?>
Selline käitumine kehtib mitte ainult väljastamise korral, vaid ka omistamise korral:
<?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
$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
$num = 0;
++$num;
$num++;
echo $num; // väljastab 2
?>
Koodi käivitamata määrake, mis kuvatakse ekraanil:
<?php
$num = 3;
echo ++$num;
?>
Koodi käivitamata määrake, mis kuvatakse ekraanil:
<?php
$num = 3;
echo $num++;
?>
Koodi käivitamata määrake, mis kuvatakse ekraanil:
<?php
$num = 3;
echo --$num;
?>
Koodi käivitamata määrake, mis kuvatakse ekraanil:
<?php
$num = 3;
echo $num--;
?>
Koodi käivitamata määrake, mis kuvatakse ekraanil:
<?php
$num1 = 3;
$num2 = ++$num1;
echo $num1;
echo $num2;
?>
Koodi käivitamata määrake, mis kuvatakse ekraanil:
<?php
$num1 = 3;
$num2 = $num1++;
echo $num1;
echo $num2;
?>
Koodi käivitamata määrake, mis kuvatakse ekraanil:
<?php
$num1 = 3;
$num2 = --$num1;
echo $num1;
echo $num2;
?>
Koodi käivitamata määrake, mis kuvatakse ekraanil:
<?php
$num1 = 3;
$num2 = $num1--;
echo $num1;
echo $num2;
?>
Koodi käivitamata määrake, mis kuvatakse ekraanil:
<?php
$num1 = 3;
$num1++;
$num2 = $num1--;
echo $num1++;
echo --$num2;
?>