Задачка про парсинг

Major

Новичок
Задачка про парсинг

Вот Вам задачка:

<?php

echo 'Test'';
echo " passed?";

?>

З.Ы.: PHP Version 5.2.10

Будет ли работать код? Есть ли в нем ошибка? Если есть, то какого уровня, если нет то что будет выведено.

=)
 

Winer

Мимо проходил
В чём юмор замены двойной кавычки на две одинарных? Или ты думаешь, что это незаметно и смешно?
 

Major

Новичок
Юмор в том, что выдаст парсер... Сначала код разбери...

echo 'Test''; <- тут все кавычки одинарные

Вопрос: что выдаст парсер: ошибку или проглоитит. Если ошибку: то какую. Будет ли работать скрипт?

-~{}~ 19.03.10 13:48:

Ладно, тут , я так понял, некоторые по принципу: не разбирал, но осуждаю..

ИТак вот, парсер это проглотит и выдаст всего лишь варнинг вместо положенного Syntax error

Warning: Unexpected character in input: ''' (ASCII=39) state=1 in ....php on line ...

Код отработает и будет напечатано

Test passed?

ибо он пассед... Такая вот багофича парсера пхп...
 

StUV

Rotaredom
да, странно

-~{}~ 19.03.10 13:54:

в каком-то смысле по результату "логично" продолжил
Код:
echo 'test';
';
echo " passed";
та же ...
надо ковыряться
 

Winer

Мимо проходил
Да, странно, давно не брал я руки ПХП :) Всё дело, похоже, в последней одинарной, если перед ней использовать двойные(echo "test"'), переменные и т.д., странное поведение сохраняется. Если использовать больше одинарных или двойные, вылезает нормальный parse error.
 
Сверху