Prefix és posztfix típus PHP-ben
Valójában az inkrementálás és dekrementálás művelete
kétféleképpen írható le. Posztfix formában
a művelet a változó neve után kerül írásra,
így: $a++, míg prefix formában
- a változó neve előtt, így:
++$a. Nézzük példákon, mi a különbség
a két módszer között.
A következő példában az első echo
0-t fog kiírni, mert először a kimenetre
írás történik, és csak azután növelődik a változó:
<?php
$num = 0;
echo $num++; // 0-t ír ki, mert a változó csak az echo után növelődik
echo $num; // 1-et ír ki - a változó megváltozott
?>
Most pedig a változó először növelődik, és csak azután történik a kimenetre írás:
<?php
$num = 0;
echo ++$num; // 1-et ír ki - a változó azonnal megnövekedett
?>
Ez a viselkedés nem csak a kimenetre írásra érvényes, hanem az értékadásra is:
<?php
$num1 = 0;
$num2 = $num1++; // a $num2 változóba 0 kerül
echo $num2; // 0-t ír ki
echo $num1; // 1-et ír ki - a $num1 változó a $num2-ba való beírás után változott meg
?>
Most változtassuk meg a posztfix formát prefix formára:
<?php
$num1 = 0;
$num2 = ++$num1; // a $num2 változóba 1 kerül
echo $num2; // 1-et ír ki
?>
Ha a műveletünk egy külön sorban kerül végrehajtásra, akkor nincs különbség a prefix és a posztfix forma között:
<?php
$num = 0;
++$num;
$num++;
echo $num; // 2-t ír ki
?>
A kód futtatása nélkül határozd meg, mit ír ki a képernyőre:
<?php
$num = 3;
echo ++$num;
?>
A kód futtatása nélkül határozd meg, mit ír ki a képernyőre:
<?php
$num = 3;
echo $num++;
?>
A kód futtatása nélkül határozd meg, mit ír ki a képernyőre:
<?php
$num = 3;
echo --$num;
?>
A kód futtatása nélkül határozd meg, mit ír ki a képernyőre:
<?php
$num = 3;
echo $num--;
?>
A kód futtatása nélkül határozd meg, mit ír ki a képernyőre:
<?php
$num1 = 3;
$num2 = ++$num1;
echo $num1;
echo $num2;
?>
A kód futtatása nélkül határozd meg, mit ír ki a képernyőre:
<?php
$num1 = 3;
$num2 = $num1++;
echo $num1;
echo $num2;
?>
A kód futtatása nélkül határozd meg, mit ír ki a képernyőre:
<?php
$num1 = 3;
$num2 = --$num1;
echo $num1;
echo $num2;
?>
A kód futtatása nélkül határozd meg, mit ír ki a képernyőre:
<?php
$num1 = 3;
$num2 = $num1--;
echo $num1;
echo $num2;
?>
A kód futtatása nélkül határozd meg, mit ír ki a képernyőre:
<?php
$num1 = 3;
$num1++;
$num2 = $num1--;
echo $num1++;
echo --$num2;
?>