Prefiksinis ir postfiksinis tipas PHP
Tiesą sakant, inkrementacijos ir dekrementacijos operacijos
gali būti užrašomos dviem būdais. Postfiksiniu
atveju operacija rašoma po kintamojo pavadinimo,
štai taip: $a++, o prefiksiniu
atveju – prieš kintamojo pavadinimą, štai taip:
++$a. Pažiūrėkime pavyzdžiais,
kuo skiriasi šie du būdai.
Šiame pavyzdyje pirmasis echo išves
0, nes pirmiausia veiks išvedimas
į ekraną, o tik tada kintamasis padidės:
<?php
$num = 0;
echo $num++; // išves 0, nes kintamasis padidės tik po echo
echo $num; // išves 1 - kintamasis pasikeitė
?>
O dabar kintamasis pirmiausia padidės, o tik tada bus atliktas išvedimas į ekraną:
<?php
$num = 0;
echo ++$num; // išves 1 - kintamasis padidėjo iš karto
?>
Toks elgesys galioja ne tik išvedimui į ekraną, bet ir priskyrimui:
<?php
$num1 = 0;
$num2 = $num1++; // į kintamąjį $num2 įrašys 0
echo $num2; // išves 0
echo $num1; // išves 1 - kintamasis $num1 pasikeitė po įrašymo į $num2
?>
O dabar pakeisime postfiksinę formą į prefiksinę:
<?php
$num1 = 0;
$num2 = ++$num1; // į kintamąjį $num2 įrašys 1
echo $num2; // išves 1
?>
Jei mūsų operacija atliekama atskiroje eilutėje, tarp prefiksinės ir postfiksinės formų skirtumo nėra:
<?php
$num = 0;
++$num;
$num++;
echo $num; // išves 2
?>
Nepaleisdami kodo, nustatykite, kas bus išvesta į ekraną:
<?php
$num = 3;
echo ++$num;
?>
Nepaleisdami kodo, nustatykite, kas bus išvesta į ekraną:
<?php
$num = 3;
echo $num++;
?>
Nepaleisdami kodo, nustatykite, kas bus išvesta į ekraną:
<?php
$num = 3;
echo --$num;
?>
Nepaleisdami kodo, nustatykite, kas bus išvesta į ekraną:
<?php
$num = 3;
echo $num--;
?>
Nepaleisdami kodo, nustatykite, kas bus išvesta į ekraną:
<?php
$num1 = 3;
$num2 = ++$num1;
echo $num1;
echo $num2;
?>
Nepaleisdami kodo, nustatykite, kas bus išvesta į ekraną:
<?php
$num1 = 3;
$num2 = $num1++;
echo $num1;
echo $num2;
?>
Nepaleisdami kodo, nustatykite, kas bus išvesta į ekraną:
<?php
$num1 = 3;
$num2 = --$num1;
echo $num1;
echo $num2;
?>
Nepaleisdami kodo, nustatykite, kas bus išvesta į ekraną:
<?php
$num1 = 3;
$num2 = $num1--;
echo $num1;
echo $num2;
?>
Nepaleisdami kodo, nustatykite, kas bus išvesta į ekraną:
<?php
$num1 = 3;
$num1++;
$num2 = $num1--;
echo $num1++;
echo --$num2;
?>