我看到JSON编码数组具有“标签”,如何添加这些标签?的PHP

时间:2019-03-26 11:05:18

标签: php arrays json

我有一个类似于下面的数组:

  

array(“ animal” => array(“ lion”,“ fish”,“ tiger)

我想将以下内容转换为JSON格式。

  

'{“ group”:“动物”,“类型”:[“狮子”,“鱼”,“老虎”]}'

如何添加“组”和“类型”之类的“标签”?

2 个答案:

答案 0 :(得分:1)

$array=array();
$array['animal'] = array('lion','tiger','fish');//Your array

echo json_encode(array("group"=>"animal","types"=>$array['animal']));
//Output : {"group":"animal","types":["lion","tiger","fish"]}

答案 1 :(得分:0)

创建结果数组并设置其格式,这将使您能够以期望的格式存储数据。

<?php
$arr = array("animal" => array("lion", "fish", "tiger"));
$result = array("group" => "",
                "types" => array());

foreach ($arr as $key => $value)
{
    $result["group"] = $key;
    $result["types"] = $value;
}

var_dump(json_encode($result));

输出:

string(50) "{"group":"animal","types":["lion","fish","tiger"]}"

如果您有很多组,则可能需要稍微更改循环:

<?php
$arr = array(array("animal" => array("lion", "fish", "tiger")),
             array("colors" => array("red", "green", "blue")));

$finalResult = array();

foreach ($arr as $item)
{
    foreach ($item as $key => $value)
    {
        $result["group"] = $key;
        $result["types"] = $value;
        $finalResult[] = $result;
    }
}

var_dump(json_encode($finalResult));

输出:

string(102) "[{"group":"animal","types":["lion","fish","tiger"]},{"group":"colors","types":["red","green","blue"]}]"
相关问题