Навъҳои префиксӣ ва постфиксӣ дар 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;
?>