2014-02-05 2 views
0

я хочу, чтобы поместить функцию класса в качестве значения массива, но он показывает ошибку синтаксического анализа:функция класса в качестве значения массива

  • сообщение об ошибке ЛИНТЕР - Ожидая ` ']»
  • Php сообщение об ошибке - ErrorException [Синтаксический ошибка]: ошибка синтаксиса, неожиданный '['

    Пример

    'имя' => [
    'тип_данных' => 'VARCHAR',
    'метка' => Lang :: получить ('site.general.name'),
    ...

Как вы видите, я хочу этикетку, чтобы быть значение, возвращенное из «Ланг "class" get ".

+0

Ошибка в отсутствии закрывающей квадратной скобки, именно то, что она говорит! – Steve

+0

Возможно, вы используете версию ниже 5.4, в которой разрешено определение короткого массива с помощью '[]'. –

+0

. Можете ли вы вставить всю структуру массива? –

ответ

0

Array short syntax [т. $a = ['a', 'b']] можно загрузить с версии 5.4 on.

Убедитесь, что у вас есть правильная версия PHP для использования, иначе вы должны придерживаться старого синтаксиса array('a', 'b').

+0

Изменено на «array()» из «[]», но все же Lang :: get (..) получает проблемы с синтаксическим разбором. –

-1

Изменение [в array( как это:

'name' => array(
    'data_type' => 'varchar', 
    'label' => Lang::get('site.general.name'), 

[] для определения массивов не поддерживается в более ранних версиях.

+0

Разве мы не должны спрашивать версию PHP, которая используется прежде, чем делать какие-либо предположения? –

+0

Я не думаю, что для такого поведения есть какие-то возможные причины. Как я вижу, другие придерживаются того же мнения. –

+0

И никто не ответил правильно. Он действительно старался перейти на старый синтаксис без успеха. Я действительно думаю, что это что-то не так с структурой массива, а не с версией PHP. –

0

У вас есть синтаксическая ошибка на ключе name. Try синтаксис, как это:

$array = array(
    'name' => 'val', 
    'data_type' => 'varchar', 
    'label' => Lang::get('site.general.name'), 
    'array' => array(
     ... 
    ) 
); 

И убедитесь, что Ланг :: получить ('site.general.name') возвращает значение.

Смежные вопросы