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