数组内的json_encode变量

时间:2015-03-04 21:26:00

标签: php arrays variables

我正在使用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);

这是我的静态数组,我输入了$ locations变量。

$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 ')'

感谢您的帮助,谢谢。

2 个答案:

答案 0 :(得分:0)

您正在寻找的Gizmo是concatenation operator,看起来像这样

.

它将字符串粘在一起。

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

答案 1 :(得分:0)

如果ı真的理解你的想法,请将$ 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) . '
            }
        ]
    }'
);