/
vshmidt
/
php
Обзор
Документация
Войти
/
vshmidt
/
php
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
ext/opcache/tests/bug73789.phpt
34 строки
723 B
Max Semenik
Migrate skip checks to --EXTENSIONS--, p3
03 апр 2021, 16:23
03 апр 2021, 16:23
e9f783f
Код
Авторство
О чём код?
--TEST-- Bug #73789 (Strange behavior of class constants in switch/case block) --EXTENSIONS-- opcache ctype --FILE-- <?php class Lexer { const T_NONE = 1; const T_STRING = 2; const T_DOT = 8; public function getType($value): int { $type = self::T_NONE; switch (true) { case ctype_alpha($value[0]): $name = 'Lexer::T_' . strtoupper($value); $type = constant($name); if ($type > 100) { return $type; } return self::T_STRING; case $value === '.': return self::T_DOT; default: } return $type; } } var_dump((new Lexer())->getType("dot")); ?> --EXPECT-- int(2)