Я отримую цю помилку PHP:
Помилка синтаксичного аналізу: помилка синтаксису, несподівана T_VARIABLE
З цього рядка:
$list[$i][$docinfo['attrs']['@groupby']] = $docinfo['attrs']['@count'];
Щось не так із цим рядком?
Я отримую цю помилку PHP:
Помилка синтаксичного аналізу: помилка синтаксису, несподівана T_VARIABLE
З цього рядка:
$list[$i][$docinfo['attrs']['@groupby']] = $docinfo['attrs']['@count'];
Щось не так із цим рядком?
Відповіді:
Перед вставленою лінією може стояти крапка з комою або дужка.
Мені це здається чудовим; кожен рядок дозволений як індекс масиву.
$list
- це змінна.
Це може бути також якась інша лінія. PHP не завжди є таким точним.
Можливо, вам просто не вистачає крапки з комою на попередньому рядку.
Як відтворити цю помилку, помістіть це у файл із назвою a.php
:
<?php
$a = 5
$b = 7; // Error happens here.
print $b;
?>
Запустіть:
eric@dev ~ $ php a.php
PHP Parse error: syntax error, unexpected T_VARIABLE in
/home/el/code/a.php on line 3
Пояснення:
Синтаксичний аналізатор PHP перетворює вашу програму на ряд токенів. A T_VARIABLE
- маркер типу ЗМІННИЙ. Коли синтаксичний аналізатор обробляє маркери, він намагається зрозуміти їх і видає помилки, якщо отримує змінну, де жодна не допускається.
У наведеному вище простому випадку із змінною $b
парсер намагався обробити це:
$a = 5 $b = 7;
Синтаксичний аналізатор PHP дивиться на $ b після 5 і каже "це несподівано".