Цикл for - почему такой результат?

191
03 июля 2017, 20:04

Почему 0, 4, 9, а не 0, 4, 10. Ведь сначала i+j = 4, потом 6. Почему в итоге 5?

for ($i = 0, $j = 2; $i < 11; $i++, $j++,  $i = $i + $j) {
   echo i;
}
Answer 1
  1. цикл $i = 0, $j = 2

    после цикла:

    • $i++ = 0 + 1 = 1
    • $j++ = 2 + 1 = 3
    • $i = $i + $j = 1 + 3 = 4
  2. цикл $i = 4, $j = 3

    после цикла:

    • $i++ = 4 + 1 = 5
    • $j++ = 3 + 1 = 4
    • $i = $i + $j = 5 + 4 = 9
  3. цикл $i = 9, $j = 4

    после цикла: уже не имеет значения что там

Answer 2
 for ($i = 0, $j = 2; $i < 11; $i++, $j++, $i = $i + $j ) {
    echo '$i='. $i . ' <br>';
    echo '$j='. $j. ' <br> ';
    echo '<hr>';
 }
 /**
 Итерация 1
  *) $i = 0;
  *) $j = 2;
  *) Условие $i(0) < 11 соблюдено? да > продолжаем   
  *) Печатаем $i = 0;
  *) Печатаем $j = 2;

 Итерация 2
  *) $i++ ; $i = 0 + 1 = 1; 
  *) $j++; $j = 2 + 1 = 3;
  *) $i = $i + $j; $i = 3 + 1 = 4;
  *) Условие $i(4) < 11 соблюдено? да > продолжаем   
  *) Печатаем $i = 4;
  *) Печатаем $j = 3;
 Итерация 3 
  *) $j++; $j = 3 + 1 = 4;
  *) $i++ ; $i = 4 + 1 = 5;
  *) $i = $i + $j; $i = 5 + 4 = 9;
  *) Условие $i(9) < 11 соблюдено? да > продолжаем   
  *) Печатаем $i = 9;
  *) Печатаем $j = 4;
**/
READ ALSO
Вывод из БД без обновления страницы

Вывод из БД без обновления страницы

Нужен скрипт вывода из БД без перезагрузки страницы, сайт висит на хостинге, динамическое обновление ни в какие ворота не катятся

160
Создание парсера постов для ВКонтакте php

Создание парсера постов для ВКонтакте php

Появилась необходимость написать парсер постов для ВконтактеИспользуется язык PHP, а также Apache сервер

208
simple_html_dom - str_get_html bool(false)

simple_html_dom - str_get_html bool(false)

ЗдравствуйтеЕсть две ссылки и обе доступны с браузера

207
Пространства имен

Пространства имен

Изучаю сейчас пространства имен, и я запутался немного

222