переменная json_encode внутри массива

Я использую json_encode для создания массива из foreach, который я хотел бы разместить внутри статического массива. Я загрузил массив json_encoded в переменную. Если я повторяю переменную, данные выглядят великолепно. Это просто, когда я ввожу переменную в массив, она не работает.

Это мой предлог.

$arr = array(); foreach ($response->records as $record) { $r['id'] = $record->Id; $r['title'] = $record->Title; $r['pin'] = $record->Pin; $arr[] = $r; } $locations = json_encode($arr); 

И это мой статический массив, где я ввел переменную $ location.

 $data = array( 'name' => Locations, 'data' => '{ "title":"USA", "location":"World", "levels":[ { "id":"states", "title":"States", "locations":'$locations' } ] }' ); 

Это ошибка, которую я вижу.

 Parse error: syntax error, unexpected '$locations' (T_VARIABLE), expecting ')' 

Я был бы признателен за помощь, спасибо.

Гизмо, которую вы ищете, – это оператор конкатенации, который выглядит так

 . 

Он склеивает струны вместе.

 $data = array( 'name' => Locations, 'data' => '{ "title":"USA", "location":"World", "levels":[ { "id":"states", "title":"States", "locations":' . $locations . ' } ] }' ); 

Если ı true понял ваше мнение, закодируйте переменную $ locations в JsonString

 json_encode($locations) 

перед добавлением $ data ['data'] elm.

 $data = array( 'name' => Locations, 'data' => '{ "title":"USA", "location":"World", "levels":[ { "id":"states", "title":"States", "locations":' . json_encode($locations) . ' } ] }' );