Префиксен и постфиксен тип во 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;
?>