Ошибка разбора с использованием нескольких условий `или`

У меня проблемы с использованием нескольких or условия.

Вот код, очень простой:

<?php

$a = "a";

if($a == "a" || $a == "b" || $a == "c" || $a == "d" || $a == "e")
{echo "test";}

?>

Но PHP отображает эту ошибку:

Ошибка разбора: синтаксическая ошибка, неожиданное ‘$ a’ (T_VARIABLE) в
/home/guest/public_html/or.php в строке 5

-2

Решение

Так что я был прав в комментариях: это (еще один) случай невидимых персонажей. Вот что действительно хранится в вашем файле:

if($a == "a" ||\u00A0$a == "b" ||\u00A0$a == "c" || $a == "d" || $a == "e")

Как видите, в двух местах $a предшествует не обычный пробел, а что-то другое — специальный символ, так называемый Неразрывный пробел один. Он визуально не отличается от обычного пробела и усекается механизмом StackOverflow при вставке кода в вопрос. Но это портит, как синтаксический анализатор интерпретирует ваш код — следовательно ошибка.

1

Другие решения

Я предполагаю, что это выдержка из вашего кода, и line 5 является (наиболее вероятно) линией с $a="a";, Проверить на неполное {} или пропавший ; до этой линии.

0

По вопросам рекламы [email protected]