php Постфиксный префиксный инкремент декремент какая разница -- пример кода
Primary tabs
Для понимания разницы (она состоит в том, что значение может изменяться либо до либо после изменения переменной), рассмотрим такой пример:
$a = $b = $c = $d = 1; echo "$a++ возвращает значение: ", $a++, ' | $a стало равно = ', $a, "<br>" ; echo "++$b возвращает значение: ", ++$b, ' | $b стало равно = ', $b, "<br>" ; echo "$c-- возвращает значение: ", $c--, ' | $c стало равно = ', $c, "<br>" ; echo "--$d возвращает значение: ", --$d, ' | $d стало равно = ', $d, "<br>" ;
Или вот с реализацией:
<?php
$b = 5;
$rez = postfix_incr($b); // это как $rez = ++$b;
echo '$rez = ' . $rez . ' | $b = ' . $b . '<br>';
$b = 5; // исходное значение
$rez = prefix_incr($b); // это как $rez = $b++;
echo '$rez = ' . $rez . ' | $b = ' . $b . '<br>';
/* обе функции получают значение по ссылке*/
/**
* постфиксный инкремент
*/
function postfix_incr(&$arg) {
$t = $arg;
$arg = $arg+1;
return $t;
}
/**
* префиксный инкремент
*/
function prefix_incr(&$arg) {
$arg = $arg+1;
return $arg;
}
- Log in to post comments
- 1860 reads