Подтвердить что ты не робот

Ошибка анализа: синтаксическая ошибка, неожиданный T_SL в строке 23

Я получаю эту ошибку:

Ошибка анализа: синтаксическая ошибка, неожиданный T_SL в строке 23

Вот строка 23:

$selectorder = <<<ORDER 

Здесь он находится в контексте:

$grid->setUrl('myfirstgrid.php');

$selectorder = <<<ORDER 
function(rowid, selected) 
{ 
    if(rowid != null) { 
        alert("selected: "+rowid); 
    } 
} 
ORDER;
$grid->setGridEvent('onSelectRow', $selectorder);

Что вызывает эту ошибку?

Я лично не знаю, что <<< делает и никогда не использовал его, я получил его из учебника. Я попытался это сделать, но вы не можете использовать такие символы google: (

4b9b3361

Ответ 1

Проверьте пробелы после <<<ORDER. Не должно быть пустых символов.

Ответ 3

Убедитесь, что перед ORDER;

нет ПРОСТРАНСТВО/ИНДЕНТАЦИЯ

Ответ 4

PHP Heredoc не очень хорошо сочетается с символом%, а также вызывает Parse error: syntax error, unexpected T_SL:

<?php
$var=<<<%%SHRUBBERY%%

Nih!

%%SHRUBBERY%%;
?>

Ответ 5

Также убедитесь, что у вас есть 3 '< < <'. Опуская один, он выкинет эту ошибку. Также, если вы используете NOWDOC, убедитесь, что ваш хостинг-провайдер установил php 5.3. Плюс, если ваша среда php ниже 5.3, не используйте двойные кавычки или одинарные кавычки.

Ответ 6

Он называется "Синтаксис Heredoc", и он позволяет вам указывать большие строки без использования кавычек. В этом случае, похоже, вы используете его для ввода кода JavaScript в переменную. Поскольку вы начали строку с <<<ORDER, вы можете завершить ее с помощью ORDER;, так как у вас есть — но вам нужно убедиться, что ORDER; встречается в начале строки без пробелов.