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;
?>