PHP-daky prefiks we postfiks tipi
Aslynda inkrement we dekrement amallary
iki usul bilen ýazyp bolýar. Postfiks
görnüşinde amal üýtgeýjiniň adyndan soň ýazylýar,
şeýle: $a++, prefiks
görnüşinde bolsa - üýtgeýjiniň adyndan öň, şeýle:
++$a. Geliň mysallarda, iki usulyň arasyndaky
tapawudy göreliň.
Aşakdaky mysalda birinji echo
0 çykarar, sebäbi ilki bilen ekrana
çykaryş amal ýerine ýetiriler, soňra bolsa üýtgeýji köpelýär:
<?php
$num = 0;
echo $num++; // 0 çykarar, sebäbi üýtgeýji faqat echo-dan soň köpelýär
echo $num; // 1 çykarar - üýtgeýji üýtgedi
?>
Indi bolsa, üýtgeýji ilki köpelýär, soňra ekrana çykarylýar:
<?php
$num = 0;
echo ++$num; // 1 çykarar - üýtgeýji derrew köpeldi
?>
Bu ýagdaý diňe ekrana çykaryş üçin däl, eýsem, bellik üçin hem dogry:
<?php
$num1 = 0;
$num2 = $num1++; // $num2 üýtgeýjisine 0 ýazylar
echo $num2; // 0 çykarar
echo $num1; // 1 çykarar - $num1 üýtgeýjisi $num2-e ýazylandan soň üýtgedi
?>
Indi bolsa, postfiks görnüşini prefiks görnüşine çalşyralyň:
<?php
$num1 = 0;
$num2 = ++$num1; // $num2 üýtgeýjisine 1 ýazylar
echo $num2; // 1 çykarar
?>
Eger amalymyz aýratyn setirde ýerine ýetirilýän bolsa, onda prefiks we postfiks görnüşleriniň arasynda tapawut ýok:
<?php
$num = 0;
++$num;
$num++;
echo $num; // 2 çykarar
?>
Kody işletmän, ekrana näme çykjakdygyny kesgitläň:
<?php
$num = 3;
echo ++$num;
?>
Kody işletmän, ekrana näme çykjakdygyny kesgitläň:
<?php
$num = 3;
echo $num++;
?>
Kody işletmän, ekrana näme çykjakdygyny kesgitläň:
<?php
$num = 3;
echo --$num;
?>
Kody işletmän, ekrana näme çykjakdygyny kesgitläň:
<?php
$num = 3;
echo $num--;
?>
Kody işletmän, ekrana näme çykjakdygyny kesgitläň:
<?php
$num1 = 3;
$num2 = ++$num1;
echo $num1;
echo $num2;
?>
Kody işletmän, ekrana näme çykjakdygyny kesgitläň:
<?php
$num1 = 3;
$num2 = $num1++;
echo $num1;
echo $num2;
?>
Kody işletmän, ekrana näme çykjakdygyny kesgitläň:
<?php
$num1 = 3;
$num2 = --$num1;
echo $num1;
echo $num2;
?>
Kody işletmän, ekrana näme çykjakdygyny kesgitläň:
<?php
$num1 = 3;
$num2 = $num1--;
echo $num1;
echo $num2;
?>
Kody işletmän, ekrana näme çykjakdygyny kesgitläň:
<?php
$num1 = 3;
$num1++;
$num2 = $num1--;
echo $num1++;
echo --$num2;
?>