Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Разное

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Инкремент/Декремент ++ и --
 
 автор: codexomega   (22.03.2006 в 19:37)   письмо автору
 
 

Объясните пожалуйста разницу между:


i++;
++i;

i--;
--i;


Знаю что:

i++;  => i = i+1;


Но как расшифровывается --i; ?

   
 
 автор: Trianon   (22.03.2006 в 19:45)   письмо автору
 
   для: codexomega   (22.03.2006 в 19:37)
 

разница будет чувствоваться только тогда, когда это выражение использовать в качестве значения.


$i = 0; $j = 0;
echo "i =$i, j=$j<br>";
$prefix_i  = (++$i);
$postfix_j = ($j++);
echo "i =$i, j=$j, prefix_i =$prefix_i, postfix_j=$postfix_j<br>";
$prefix_i  = (++$i);
$postfix_j = ($j++);
echo "i =$i, j=$j, prefix_i =$prefix_i, postfix_j=$postfix_j<br>";

   
 
 автор: mannnz   (22.03.2006 в 20:42)   письмо автору
 
   для: codexomega   (22.03.2006 в 19:37)
 

Инкремент:
1) префиксный:

++i;

2) постфиксный

i++;


Разница между ними такова: при использовании префиксного инкремента ('++i') в выражении, то сначала увеличивается значение переменной 'i' и только потом идут остальные операции; если использовать постфиксный - сначала высчитывается все выражение, потом увеличивается 'i'.

Декремент ('--i; i--') аналогичен инкременту (только он уменьшает значение на 1).

Пример:

$i = 5;
echo '$i = '.$i.'<br/>';

$res = ++$i + 5; // сначала увеличивается $i, потом складывается с 5
echo '$res = '.$res.'<br/>'; // == 11

$res = $i++ + 5; // сначала $i складывается с 5,  потом увеличивается $i
echo '$res = '.$res.'<br/>'; // == 10


Декремент аналогично :)

   
 
 автор: codexomega   (22.03.2006 в 20:57)   письмо автору
 
   для: codexomega   (22.03.2006 в 19:37)
 

Всем спасибо!

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования