За последние 24 часа нас посетили 18333 программиста и 1606 роботов. Сейчас ищут 1267 программистов ...

Нужно проверить баг

Тема в разделе "Прочие вопросы по PHP", создана пользователем Alexndr, 30 июл 2013.

  1. Alexndr

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

    С нами с:
    11 ноя 2010
    Сообщения:
    1
    Симпатии:
    0
    У кого есть последняя версия PHP, проверьте, пожалуйста такой bug
    это работает
    Код (Text):
    1. <?php
    2.   $s = str_repeat('0', 321).'1';
    3.   preg_match("/(?:[^1]|0)*1/", $s, $match);
    4.   var_dump($match);
    5. ?>
    а это не работает
    Код (Text):
    1. <?php
    2.   $s = str_repeat('0', 322).'1';
    3.   preg_match("/(?:[^1]|0)*1/", $s, $match);
    4.   var_dump($match);
    5. ?>
    Отличие в длине строки на 1.
    Для надежности, если второй заработает, вместо 322 нужно поставить 1000 или 2000.
    Дело в том, что при изменении выражения, пороговое значение плавает.

    К смыслу этого выражения не докапывайтесь. Изначально оно было другим. Сейчас я его упростил по максимуму, лишь бы проявлялся глюк.
    В версии 5.2.26 этого глюка нет. В 5.4.17 есть.
     
  2. topas

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

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36