Prefiks və postfiks tipi PHP-də
Əslində inkrement və dekrement əməliyyatlarını
iki üsulla yazmaq olar. Postfiks
şəklində əməliyyat dəyişənin adından sonra yazılır,
belə: $a++, prefiks
şəklində isə - dəyişənin adından əvvəl, belə:
++$a. Gəlin nümunələr üzərində iki üsul arasındakı
fərqi görək.
Aşağıdakı nümunədə birinci echo
0 çıxardacaq,
çünki əvvəlcə ekrana çıxış baş verəcək,
sonra isə dəyişən artacaq:
<?php
$num = 0;
echo $num++; // 0 çıxardacaq, cunki dəyişən yalnız echo-dan sonra artacaq
echo $num; // 1 çıxardacaq - dəyişən dəyişdi
?>
İndi isə dəyişən əvvəlcə artacaq, sonra isə ekrana çıxış olunacaq:
<?php
$num = 0;
echo ++$num; // 1 çıxardacaq - dəyişən dərhal artdı
?>
Bu davranış təkcə ekrana çıxış üçün deyil, həm də təyin etmə üçün də keçərlidir:
<?php
$num1 = 0;
$num2 = $num1++; // $num2 dəyişəninə 0 yazılacaq
echo $num2; // 0 çıxardacaq
echo $num1; // 1 çıxardacaq - $num1 dəyişəni $num2-ə yazıldıqdan sonra dəyişdi
?>
İndi isə postfiks formasını prefiks forması ilə dəyişək:
<?php
$num1 = 0;
$num2 = ++$num1; // $num2 dəyişəninə 1 yazılacaq
echo $num2; // 1 çıxardacaq
?>
Əgər bizim əməliyyatımız ayrı bir sətirdə yerinə yetirilirsə, onda prefiks və postfiks formalari arasında fərq yoxdur:
<?php
$num = 0;
++$num;
$num++;
echo $num; // 2 çıxardacaq
?>
Kodu işə salmadan müəyyən edin ki, ekrana nə çıxarılacaq:
<?php
$num = 3;
echo ++$num;
?>
Kodu işə salmadan müəyyən edin ki, ekrana nə çıxarılacaq:
<?php
$num = 3;
echo $num++;
?>
Kodu işə salmadan müəyyən edin ki, ekrana nə çıxarılacaq:
<?php
$num = 3;
echo --$num;
?>
Kodu işə salmadan müəyyən edin ki, ekrana nə çıxarılacaq:
<?php
$num = 3;
echo $num--;
?>
Kodu işə salmadan müəyyən edin ki, ekrana nə çıxarılacaq:
<?php
$num1 = 3;
$num2 = ++$num1;
echo $num1;
echo $num2;
?>
Kodu işə salmadan müəyyən edin ki, ekrana nə çıxarılacaq:
<?php
$num1 = 3;
$num2 = $num1++;
echo $num1;
echo $num2;
?>
Kodu işə salmadan müəyyən edin ki, ekrana nə çıxarılacaq:
<?php
$num1 = 3;
$num2 = --$num1;
echo $num1;
echo $num2;
?>
Kodu işə salmadan müəyyən edin ki, ekrana nə çıxarılacaq:
<?php
$num1 = 3;
$num2 = $num1--;
echo $num1;
echo $num2;
?>
Kodu işə salmadan müəyyən edin ki, ekrana nə çıxarılacaq:
<?php
$num1 = 3;
$num1++;
$num2 = $num1--;
echo $num1++;
echo --$num2;
?>