Նախածանցային և վերջածանցային տեսակները PHP-ում
Իրականում ինկրեմենտի և դեկրեմենտի օպերացիաները
կարող են գրվել երկու եղանակով։ Վերջածանցային
տեսքով օպերացիան գրվում է փոփոխականի անունից հետո,
ահա այսպես՝ $a++, իսկ նախածանցային
տեսքով՝ փոփոխականի անունից առաջ, ահա այսպես՝
++$a։ Եկեք օրինակներով տեսնենք, թե ինչ տարբերություն
կա երկու եղանակների միջև։
Հաջորդ օրինակում առաջին echo-ը կարտածի
0, քանի որ սկզբում կկատարվի էկրանին արտածումը,
ու միայն դրանից հետո փոփոխականը կմեծանա.
<?php
$num = 0;
echo $num++; // կարտածի 0, քանի որ փոփոխականը կմեծանա միայն echo-ից հետո
echo $num; // կարտածի 1 - փոփոխականը փոխվել է
?>
Իսկ այժմ փոփոխականը սկզբում կմեծանա, ու դրանից հետո կկատարվի արտածումը էկրանին.
<?php
$num = 0;
echo ++$num; // կարտածի 1 - փոփոխականը մեծացավ անմիջապես
?>
Նման վարքագիծը վավեր է ոչ միայն էկրանին արտածման, այլև վերագրումների համար.
<?php
$num1 = 0;
$num2 = $num1++; // $num2 փոփոխականին կգրվի 0
echo $num2; // կարտածի 0
echo $num1; // կարտածի 1 - $num1 փոփոխականը փոխվել է $num2-ին գրելուց հետո
?>
Այժմ փոխենք վերջածանցային ձևը նախածանցայինի.
<?php
$num1 = 0;
$num2 = ++$num1; // $num2 փոփոխականին կգրվի 1
echo $num2; // կարտածի 1
?>
Եթե մեր օպերացիան կատարվում է առանձին տողում, ապա նախածանցային և վերջածանցային ձևերի միջև տարբերություն չկա.
<?php
$num = 0;
++$num;
$num++;
echo $num; // կարտածի 2
?>
Չգործարկելով կոդը, որոշեք, թե ինչ կարտածվի էկրանին.
<?php
$num = 3;
echo ++$num;
?>
Չգործարկելով կոդը, որոշեք, թե ինչ կարտածվի էկրանին.
<?php
$num = 3;
echo $num++;
?>
Չգործարկելով կոդը, որոշեք, թե ինչ կարտածվի էկրանին.
<?php
$num = 3;
echo --$num;
?>
Չգործարկելով կոդը, որոշեք, թե ինչ կարտածվի էկրանին.
<?php
$num = 3;
echo $num--;
?>
Չգործարկելով կոդը, որոշեք, թե ինչ կարտածվի էկրանին.
<?php
$num1 = 3;
$num2 = ++$num1;
echo $num1;
echo $num2;
?>
Չգործարկելով կոդը, որոշեք, թե ինչ կարտածվի էկրանին.
<?php
$num1 = 3;
$num2 = $num1++;
echo $num1;
echo $num2;
?>
Չգործարկելով կոդը, որոշեք, թե ինչ կարտածվի էկրանին.
<?php
$num1 = 3;
$num2 = --$num1;
echo $num1;
echo $num2;
?>
Չգործարկելով կոդը, որոշեք, թե ինչ կարտածվի էկրանին.
<?php
$num1 = 3;
$num2 = $num1--;
echo $num1;
echo $num2;
?>
Չգործարկելով կոդը, որոշեք, թե ինչ կարտածվի էկրանին.
<?php
$num1 = 3;
$num1++;
$num2 = $num1--;
echo $num1++;
echo --$num2;
?>