За последние 24 часа нас посетили 68900 программистов и 5683 робота. Сейчас ищет 1281 программист ...

While проходит на один цикл меньше

Тема в разделе "PHP для новичков", создана пользователем NeTort, 9 авг 2018.

Метки:
  1. NeTort

    NeTort Новичок

    С нами с:
    9 авг 2018
    Сообщения:
    5
    Симпатии:
    0
    Здравствуйте, почему цикл не доходит до конца?
    Код (Text):
    1. <?php
    2.     $i = 1;
    3.         while ($i <=32.6) {
    4.                 echo $i.'<br>';
    5.         $i ++ ;
    6.     }
    7. ?>
    Эта проблема встречается если переменная старше 31 )))
    PS: интерпритатор использован онлайн: https://www.runphponline.com/
     
  2. villiwalla

    villiwalla Активный пользователь

    С нами с:
    14 дек 2016
    Сообщения:
    471
    Симпатии:
    70
    PHP:
    1. $num = round('32.6');
    2. while($i < $num) {}
     
  3. Sail

    Sail Старожил

    С нами с:
    1 ноя 2016
    Сообщения:
    1.593
    Симпатии:
    362
    При каком значении считаете, этот цикл должен завершиться?
     
  4. NeTort

    NeTort Новичок

    С нами с:
    9 авг 2018
    Сообщения:
    5
    Симпатии:
    0
    Пологаю при 32, так как если ограничить цикл, например до 20,6, результат будет 20
     
  5. Sail

    Sail Старожил

    С нами с:
    1 ноя 2016
    Сообщения:
    1.593
    Симпатии:
    362
    Так он даже в том онлайн-интерпретаторе 32 и выводит. То есть, "доходит до конца".
     
  6. NeTort

    NeTort Новичок

    С нами с:
    9 авг 2018
    Сообщения:
    5
    Симпатии:
    0
    у меня не доходит, думал может баг экранный, но поставил 36.6 и цикл остановился на 34
    --- Добавлено ---
    если убрать .'<br>' - цикл выполняется.
    Я так понял это только у меня проблема.
     
  7. Alexus

    Alexus Активный пользователь

    С нами с:
    1 май 2018
    Сообщения:
    64
    Симпатии:
    2
    Попробуйте писать ++$i, а не $i++, может это вам поможет?
     
  8. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.497
    Симпатии:
    1.726
    Забавный совет. Сам хоть в курсе, в чём разница?
     
  9. NeTort

    NeTort Новичок

    С нами с:
    9 авг 2018
    Сообщения:
    5
    Симпатии:
    0
    Спасибо, не помогло, а вот смена интерпритатора помогла, почему-то сразу не догадался проверить.
    http://phptester.net/
     
  10. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.497
    Симпатии:
    1.726
    @Alexus И причём тут пре-инкремент и пост-инкремент? Он же не пытается инкремент с выводом совмещать.
     
  11. NeTort

    NeTort Новичок

    С нами с:
    9 авг 2018
    Сообщения:
    5
    Симпатии:
    0
    Да какой то баг, если посмотреть вкладку output text все выполняется.
    Так же всё корректно работает в другом браузере, сори синьоры за отнятное время...