Я пытаюсь сохранить массив в качестве значения ключа в другом массиве.Я не могу использовать такие функции, как array_push () или цикл for, потому что второй массив создается как параметр функции.
Я гуглил несколько часов и не могу найти ответы!Я новичок в PHP, поэтому я понятия не имею, возможно ли это вообще.
Первый массив выглядит примерно так:
$choices[] = array('1'=>'Blue','2'=>'Red)
РЕДАКТИРОВАТЬ: это код, который я имел в видудобавить
$choices[] = array('1'=>'Blue','2'=>'Red');
Отсутствие '
и ;
было опечаткой.Массив создается гораздо более сложным способом.В моей попытке абстрагировать и упростить публикацию здесь я пропустил '
и ;
.Престижность @ diéfani-favareto-piovezan для определения этого.
Теперь я хочу вставить этот массив как значение ключа в другой массив, который создается в другой части кода:
return randomFunction('random text', array(
'a' => 'apple',
'b' => 'banana',
'c' => ,
)
)
Я хочу, чтобы массив $choices
был значением ключа 'c'
.
Я пробовал это
return randomFunction('random text', array(
'a' => 'apple',
'b' => 'banana',
'c' => $choices,
),
)
, но выдает ошибку
РЕДАКТИРОВАТЬ: Я хотел сказать, что я пытался это
return randomFunction('random text', array(
'a' => 'apple',
'b' => 'banana',
'c' => $choices,
)
)
Еще раз, при попытке абстрагироваться и упростить (фактический массив, созданный в RandomFunction имеет около250 строк) Я добавил лишнюю запятую по ошибке.Престижность @brevis, @Nick и @tim за то, что я заметил это и обратил на это мое внимание.
Parse error: syntax error, unexpected '=>' (T_DOUBLE_ARROW), expecting ')' in /filename.php line 120
Ошибка упоминает еще одну строку кода, но я знаю, что это не причинапотому что если я удалю
'c' => $choices,
, то ошибки не будет.
РЕДАКТИРОВАТЬ: Я хотел сказать «до того как я добавил строку 'c'
» (а не «если я удалю»это "), ошибок не было.Я также мог бы добавить, что создание $choices
предшествует массиву randomFunction
, поэтому это еще одна причина, по которой я знал, что там нет ошибок.
ВЫВОД: Как я уже говорилошибка была лишней ),
после строки 'c'
, которую я не смог воспроизвести здесь, пытаясь упростить код.Я думаю, что когда я добавил строку 'c'
в свой реальный код, я должен был добавить дополнительную ),
по ошибке.Я смог найти это только потому, что @nick сказал, что код randomFunction
(тот, что после «Я попробовал это») должен работать.Это был ответ, который мне нужен, чтобы подтвердить, что ошибка не в этой строке.Благодаря комментарию @ dont-panic я более внимательно изучил полученное сообщение об ошибке и обнаружил дополнительный )'
.В конце концов, каждый помог мне.Так что спасибо всем!
Для всех, кто сталкивался с этим, рабочий код: :
$choices[] = array('1'=>'Blue','2'=>'Red');
return randomFunction('random text', array(
'a' => 'apple',
'b' => 'banana',
'c' => $choices,
)
);
*