douxun4924 2016-02-09 12:36
浏览 58
已采纳

PHP关联数组的JSON

I have an associative array as below

$arraySapmle =  array ("benz" => "car","bmw" => "car","volvo" = "car",
                      "delhi" => "place", "newyork" => "place", "tokyo" =>"place" );

and I need a json like this

$json = [
        "car": {
                 "name" : "benz",
"name" : "bmw",
"name" : "volvo"
},
"place" : {
"name" : "delhi",
"name" : "newyork",
"name" : "tokyo"
}
]

Have any idea?

  • 写回答

2条回答 默认 最新

  • donglu1472 2016-02-09 12:55
    关注

    The closest you will get to that structure is having each top level property (car, place) contain an array of objects with name properties:

    $restructured=[];
    foreach($arraySample as $key=>$val)
        $restructured[$val][]=['name'=>$key];
    echo json_encode($restructured, JSON_PRETTY_PRINT);
    

    Output:

    {
        "car": [
            {
                "name": "benz"
            },
            {
                "name": "bmw"
            },
            {
                "name": "volvo"
            }
        ],
        "place": [
            {
                "name": "delhi"
            },
            {
                "name": "newyork"
            },
            {
                "name": "tokyo"
            }
        ]
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?