My code gives me the error
Parse error: syntax error, unexpected T_DOUBLE_ARROW, expecting ‘)’ line 208
I keep getting this but it looks correct? Line 208 which is the second down.
array( "name" => "Colour Scheme",
"desc" => "Select the colour scheme for the theme",
"id" => $shortname."_color_scheme",
"type" => "select",
"options" => array("blue", "red", "green"),
"std" => "blue"),
please advise!
Thanks
alex
473k199 gold badges872 silver badges978 bronze badges
asked Jan 31, 2011 at 2:18
1
T_DOUBLE_ARROW
is the token for =>
, so you have one which appears somewhere the parser doesn’t expect it.
Besides that trailing ,
, there is no error with the code you posted.
answered Jan 31, 2011 at 2:20
alexalex
473k199 gold badges872 silver badges978 bronze badges
1
Besides that trailing ,, there is no error with the code you posted. — alex
Often errors can come up on a line, when the problem is actually right before it (for example missing ; at line end) — Jonah
My bet is that Jonah is correct and that the error in the line above this array. From the context of the trailing ,
I bet this is a mutli-dimensional array.
If you include the code around your array I bet the problem is the line above.
Good luck.
answered Jan 31, 2011 at 2:35
1
Различные части языка PHP внутренне представлены токенами.
Фрагмент кода, содержащий недопустимую последовательность токенов, может привести к таким ошибкам, как Parse error: syntax error, unexpected token "==", expecting "(" in script.php on line 10."
,
где токен ==
внутренне представлен как T_IS_EQUAL
.
В следующей таблице перечислены все токены. Они также доступны как константы PHP.
Замечание:
Использование T_* константЗначения T_* констант автоматически генерируются на основе базовой инфраструктуры синтаксического анализатора PHP.
Это означает, что конкретное значение метки может изменяться
между двумя версиями PHP.
Это означает, что ваш код никогда не должен напрямую полагаться
на исходные значения T_*, взятые из версии PHP X.Y.Z,
чтобы обеспечить некоторую совместимость между несколькими версиями PHP.Чтобы использовать T_* константы в нескольких версиях PHP, неопределённые константы
могут быть определены пользователем (с использованием больших чисел, таких как10000
)
с соответствующей стратегией, которая будет работать как с версиями PHP, так и со значениями T_*.
<?php
// До PHP 7.4.0 значение T_FN не определено.
defined('T_FN') || define('T_FN', 10001);
Метка | Синтаксис | Ссылка |
---|---|---|
T_ABSTRACT |
abstract | Абстрактные классы |
T_AMPERSAND_FOLLOWED_BY_VAR_OR_VARARG |
& | Объявление типов (доступно, начиная с PHP 8.1.0) |
T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG |
& | Объявление типов (доступно, начиная с PHP 8.1.0) |
T_AND_EQUAL |
&= | операторы присваивания |
T_ARRAY |
array() | array(), синтаксис массива |
T_ARRAY_CAST |
(array) | приведение типа |
T_AS |
as | foreach |
T_ATTRIBUTE |
#[ | attributes (доступно с PHP 8.0.0) |
T_BAD_CHARACTER |
все, что ниже ASCII 32 исключая t (0x09), n (0x0a) и r (0x0d) (доступно с PHP 7.4.0) |
|
T_BOOLEAN_AND |
&& | логические операторы |
T_BOOLEAN_OR |
|| | логические операторы |
T_BOOL_CAST |
(bool) или (boolean) | приведение типа |
T_BREAK |
break | break |
T_CALLABLE |
callable | callable |
T_CASE |
case | switch |
T_CATCH |
catch | Исключения |
T_CLASS |
class | классы и объекты |
T_CLASS_C |
__CLASS__ | магические константы |
T_CLONE |
clone | классы и объекты |
T_CLOSE_TAG |
?> или %> | PHP-код внутри HTML |
T_COALESCE |
?? | операторы сравнения |
T_COALESCE_EQUAL |
??= |
операторы присваивания (доступно с PHP 7.4.0) |
T_COMMENT |
// или #, и /* */ | комментарии |
T_CONCAT_EQUAL |
.= | операторы присваивания |
T_CONST |
const | константы класса |
T_CONSTANT_ENCAPSED_STRING |
«foo» или ‘bar’ | строковой синтаксис |
T_CONTINUE |
continue | continue |
T_CURLY_OPEN |
{$ | переменные внутри строки |
T_DEC |
— | операторы инкрементадекремента |
T_DECLARE |
declare | declare |
T_DEFAULT |
default | switch |
T_DIR |
__DIR__ | магические константы |
T_DIV_EQUAL |
/= | операторы присваивания |
T_DNUMBER |
0.12 и т.д. | числа с плавающей точкой |
T_DO |
do | do..while |
T_DOC_COMMENT |
/** */ | PHPDoc-комментарии |
T_DOLLAR_OPEN_CURLY_BRACES |
${ | переменная внутри строки |
T_DOUBLE_ARROW |
=> | синтаксис массивов |
T_DOUBLE_CAST |
(real), (double) или (float) | приведение типов |
T_DOUBLE_COLON |
:: | смотрите ниже T_PAAMAYIM_NEKUDOTAYIM |
T_ECHO |
echo | echo |
T_ELLIPSIS |
… | аргументы функции |
T_ELSE |
else | else |
T_ELSEIF |
elseif | elseif |
T_EMPTY |
empty | empty() |
T_ENCAPSED_AND_WHITESPACE |
» $a» | константная часть строки с переменными |
T_ENDDECLARE |
enddeclare | declare, альтернативный синтаксис |
T_ENDFOR |
endfor | for, альтернативный синтаксис |
T_ENDFOREACH |
endforeach | foreach, альтернативный синтаксис |
T_ENDIF |
endif | if, альтернативный синтаксис |
T_ENDSWITCH |
endswitch | switch, альтернативный синтаксис |
T_ENDWHILE |
endwhile | while, альтернативный синтаксис |
T_ENUM |
enum | Перечисления (доступно, начиная с PHP 8.1.0) |
T_END_HEREDOC |
синтаксис heredoc | |
T_EVAL |
eval() | eval() |
T_EXIT |
exit или die | exit(), die() |
T_EXTENDS |
extends | extends, классы и объекты |
T_FILE |
__FILE__ | магические константы |
T_FINAL |
final | Ключевое слово final |
T_FINALLY |
finally | Исключения |
T_FN |
fn |
стрелочные функции (доступно с PHP 7.4.0) |
T_FOR |
for | for |
T_FOREACH |
foreach | foreach |
T_FUNCTION |
function | функции |
T_FUNC_C |
__FUNCTION__ | магические константы |
T_GLOBAL |
global | область видимости переменной |
T_GOTO |
goto | goto |
T_HALT_COMPILER |
__halt_compiler() | __halt_compiler |
T_IF |
if | if |
T_IMPLEMENTS |
implements | Интерфейсы объектов |
T_INC |
++ | операторы инкрементадекремента |
T_INCLUDE |
include() | include |
T_INCLUDE_ONCE |
include_once() | include_once |
T_INLINE_HTML |
текст вне PHP | |
T_INSTANCEOF |
instanceof | операторы типа |
T_INSTEADOF |
insteadof | Трейты |
T_INTERFACE |
interface | Интерфейсы объектов |
T_INT_CAST |
(int) или (integer) | приведение типов |
T_ISSET |
isset() | isset() |
T_IS_EQUAL |
== | операторы сравнения |
T_IS_GREATER_OR_EQUAL |
>= | операторы сравнения |
T_IS_IDENTICAL |
=== | операторы сравнения |
T_IS_NOT_EQUAL |
!= или <> | операторы сравнения |
T_IS_NOT_IDENTICAL |
!== | операторы сравнения |
T_IS_SMALLER_OR_EQUAL |
<= | операторы сравнения |
T_LINE |
__LINE__ | магические константы |
T_LIST |
list() | list() |
T_LNUMBER |
123, 012, 0x1ac и т.д. | целые числа |
T_LOGICAL_AND |
and | логические операторы |
T_LOGICAL_OR |
or | логические операторы |
T_LOGICAL_XOR |
xor | логические операторы |
T_MATCH |
match | match (доступно с PHP 8.0.0) |
T_METHOD_C |
__METHOD__ | магические константы |
T_MINUS_EQUAL |
-= | операторы присваивания |
T_MOD_EQUAL |
%= | операторы присваивания |
T_MUL_EQUAL |
*= | операторы присваивания |
T_NAMESPACE |
namespace | пространства имён |
T_NAME_FULLY_QUALIFIED |
AppNamespace | пространства имён (доступно, начиная с PHP 8.0.0) |
T_NAME_QUALIFIED |
AppNamespace | пространства имён (доступно, начиная с PHP 8.0.0) |
T_NAME_RELATIVE |
namespaceNamespace | пространства имён (доступно, начиная с PHP 8.0.0) |
T_NEW |
new | классы и объекты |
T_NS_C |
__NAMESPACE__ | пространства имён |
T_NS_SEPARATOR |
пространства имён | |
T_NUM_STRING |
«$a[0]» | цифровой индекс массива внутри строки |
T_OBJECT_CAST |
(object) | приведение типов |
T_OBJECT_OPERATOR |
-> | классы и объекты |
T_NULLSAFE_OBJECT_OPERATOR |
?-> | классы и объекты |
T_OPEN_TAG |
<?php, <? или <% | PHP-код внутри HTML |
T_OPEN_TAG_WITH_ECHO |
<?= или <%= | PHP-код внутри HTML |
T_OR_EQUAL |
|= | операторы присваивания |
T_PAAMAYIM_NEKUDOTAYIM |
:: | ::. Также определяется какT_DOUBLE_COLON . |
T_PLUS_EQUAL |
+= | операторы присваивания |
T_POW |
** | арифметические операторы |
T_POW_EQUAL |
**= | операторы присваивания |
T_PRINT |
print() | |
T_PRIVATE |
private | классы и объекты |
T_PROTECTED |
protected | классы и объекты |
T_PUBLIC |
public | классы и объекты |
T_READONLY |
readonly | классы и объекты (доступно, начиная с PHP 8.1.0) |
T_REQUIRE |
require() | require |
T_REQUIRE_ONCE |
require_once() | require_once |
T_RETURN |
return | возвращаемые значения |
T_SL |
<< | побитовые операторы |
T_SL_EQUAL |
<<= | операторы присваивания |
T_SPACESHIP |
<=> | Операторы сравнения |
T_SR |
>> | побитовые операторы |
T_SR_EQUAL |
>>= | операторы присваивания |
T_START_HEREDOC |
<<< | синтаксис heredoc |
T_STATIC |
static | область видимости переменной |
T_STRING |
parent, self и т.п.. |
идентификаторы, например, ключевые слова вроде parent и self ,сюда подходят также имена функций, классов и некоторые другие. Смотрите также T_CONSTANT_ENCAPSED_STRING
|
T_STRING_CAST |
(string) | приведение типов |
T_STRING_VARNAME |
«${a | переменные внутри строки |
T_SWITCH |
switch | switch |
T_THROW |
throw | Исключения |
T_TRAIT |
trait | Трейты |
T_TRAIT_C |
__TRAIT__ | __TRAIT__ |
T_TRY |
try | Исключения |
T_UNSET |
unset() | unset() |
T_UNSET_CAST |
(unset) | приведение типов |
T_USE |
use | пространства имён |
T_VAR |
var | классы и объекты |
T_VARIABLE |
$foo | переменные |
T_WHILE |
while | while, do..while |
T_WHITESPACE |
t rn | |
T_XOR_EQUAL |
^= | операторы присваивания |
T_YIELD |
yield | генераторы |
T_YIELD_FROM |
yield from | generators |
Смотрите также token_name().
nathan at unfinitydesign dot com ¶
14 years ago
T_ENCAPSED_AND_WHITESPACE is whitespace which intersects a group of tokens. For example, an "unexpected T_ENCAPSED_AND_WHITESPACE" error is produced by the following code:
<?php
$main_output_world = 'snakes!';
echo('There are' 10 $main_output_world);
?>
Note the missing concatenation operator between the two strings leads to the whitespace error that is so named above. The concatenation operator instructs PHP to ignore the whitespace between the two code tokens (the so named "encapsed" data"), rather than parse it as a token itself.
The correct code would be:
<?php
$main_output_world = 'snakes!';
echo('There are' . 10 . $main_output_world);
?>
Note the addition of the concatenation operator between each token.
fgm at osinet dot fr ¶
14 years ago
T_ENCAPSED_AND_WHITESPACED is returned when parsing strings with evaluated content, like "some $value" or this example from the Strings reference page:
<?php
echo <<<EOT
My name is "$name". I am printing some $foo->foo.
Now, I am printing some {$foo->bar[1]}.
This should print a capital 'A': x41
EOT;
?>
This last example is tokenized as:
T_ECHO
echo
T_WHITESPACE
%20 (a space character)
T_START_HEREDOC
<<
T_ENCAPSED_AND_WHITESPACE
My name is "
T_VARIABLE
$name
T_ENCAPSED_AND_WHITESPACE
". I am printing some
T_VARIABLE
$foo
T_OBJECT_OPERATOR
->
T_STRING
foo
T_ENCAPSED_AND_WHITESPACE
. Now, I am printing some
T_CURLY_OPEN
{
T_VARIABLE
$foo
T_OBJECT_OPERATOR
->
T_STRING
bar
(terminal)
[
T_LNUMBER
1
(terminal)
]
(terminal)
}
T_ENCAPSED_AND_WHITESPACE
. This should print a capital 'A': x41
T_END_HEREDOC
EOT
(terminal)
;
t_forward 0 / 0 / 0 Регистрация: 24.02.2021 Сообщений: 51 |
||||
1 |
||||
21.05.2021, 17:17. Показов 1917. Ответов 13 Метки php, php mysql (Все метки)
В чём ошибка?
__________________
0 |
gogolik Модератор 2110 / 1434 / 639 Регистрация: 13.03.2010 Сообщений: 4,917 |
||||
21.05.2021, 18:27 |
2 |
|||
0 |
0 / 0 / 0 Регистрация: 24.02.2021 Сообщений: 51 |
|
21.05.2021, 19:03 [ТС] |
3 |
Добавлено через 11 минут
0 |
Невнимательный 2329 / 684 / 251 Регистрация: 08.02.2013 Сообщений: 4,770 Записей в блоге: 2 |
|
21.05.2021, 19:17 |
4 |
{$exc=>getMesssage()}
разница http://php.net/ru/language.oop5.properties так-же к методам … типа $xxxxx->func() + ещё появилось ?-> Начиная с PHP 8.0.0, к свойствам и методам можно также обращаться с помощью оператора «nullsafe«: ?->. Оператор nullsafe работает так же, как доступ к свойству или методу, как указано выше, за исключением того, что если разыменование объекта выдаёт null, то будет возвращён null, а не выброшено исключение. А => это только для разделения пар key => value http://php.net/ru/language.types.array
0 |
Модератор 2110 / 1434 / 639 Регистрация: 13.03.2010 Сообщений: 4,917 |
|
21.05.2021, 19:30 |
5 |
t_forward, знак поправить. Выше более развёрнутый ответ.
0 |
0 / 0 / 0 Регистрация: 24.02.2021 Сообщений: 51 |
|
21.05.2021, 20:04 [ТС] |
6 |
Теперь Parse error: syntax error, unexpected T_DOUBLE_ARROW, expecting ‘}’ in Z:homeconfig.ruwwwreg.php on line 85
0 |
Модератор 2110 / 1434 / 639 Регистрация: 13.03.2010 Сообщений: 4,917 |
|
21.05.2021, 20:07 |
7 |
t_forward, в приведенном выше коде 85 строка не имеет такой ошибки. Смотрите, куда ещё натыкали
0 |
t_forward 0 / 0 / 0 Регистрация: 24.02.2021 Сообщений: 51 |
||||
21.05.2021, 21:33 [ТС] |
8 |
|||
здесь нужен => ? Добавлено через 1 минуту
0 |
Модератор 2110 / 1434 / 639 Регистрация: 13.03.2010 Сообщений: 4,917 |
|
21.05.2021, 22:43 |
9 |
t_forward, приведите актуальную версию кода.
0 |
t_forward 0 / 0 / 0 Регистрация: 24.02.2021 Сообщений: 51 |
||||
22.05.2021, 09:29 [ТС] |
10 |
|||
0 |
Модератор 2110 / 1434 / 639 Регистрация: 13.03.2010 Сообщений: 4,917 |
|
22.05.2021, 11:33 |
11 |
in Z:homeconfig.ruwwwreg.php on line 85
Z:homeconfig.ruwwwclassclass.forms.php on line 85 Точно в приведенном коде ошибка?
0 |
462 / 265 / 55 Регистрация: 22.08.2010 Сообщений: 1,204 Записей в блоге: 4 |
|
22.05.2021, 13:26 |
12 |
производным от базового класса field . А нафига брекеты?
0 |
t_forward 0 / 0 / 0 Регистрация: 24.02.2021 Сообщений: 51 |
||||
22.05.2021, 14:43 [ТС] |
13 |
|||
Я сделал так:
и всё заработало! Теперь:
0 |
4839 / 3852 / 1598 Регистрация: 24.04.2014 Сообщений: 11,302 |
|
22.05.2021, 14:48 |
14 |
t_forward, может сначала изучить основы языка, а после изучения писать код?
1 |
IT_Exp Эксперт 87844 / 49110 / 22898 Регистрация: 17.06.2006 Сообщений: 92,604 |
22.05.2021, 14:48 |
Помогаю со студенческими работами здесь Parse error: syntax error, unexpected T_STRING in Z:homelocalhostwwwfiles101.php on line 4 Parse error: syntax error, unexpected ‘.’, expecting ‘)’ on line 7 ошибка Parse error: syntax error, unexpected end of file in E:OpenServerdomainstest.ruindex.php on line 23 Parse error: syntax error, unexpected ‘text’ (T_STRING), expecting ‘]’ Parse error: syntax error, unexpected ‘class’ (T_CLASS), expecting function (T_FUNCTION) Ошибка Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING <?php … Искать еще темы с ответами Или воспользуйтесь поиском по форуму: 14 |