我需要在使用PHP的不同密钥的相应json数组列表中再次重复相同的值。我在下面解释我的代码。
$output=array(array("0"=>1,"name"=>"raj","regno"=>12),array("0"=>2,"name"=>"raja","regno"=>15));
//echo json_encode($output);
上面的数组给出了以下输出。
[{"0":1,"name":"raj","regno":12},{"0":2,"name":"raja","regno":15}]
这里我需要使用不同的键再次重复相同的值,并且预期的输出格式如下所示。
预期产出:
[
{"0":1,"1":"raj","name":"raj","2":12,"regno":12},
{"0":2,"1":"raja","name":"raja","2":15,"regno":15}
]
请帮我解决这个问题。
答案 0 :(得分:1)
您可以使用array_values()
和+
operator来合并基于索引的数组和基于键的数组。这可以在array_map()
内完成:
$output = array(
array("0"=>1,"name"=>"raj","regno"=>12),
array("0"=>2,"name"=>"raja","regno"=>15)
);
$output = array_map(function($data) {
return $data + array_values($data);
}, $output);
echo json_encode($output);
输出(重新格式化):
[
{"0": 1, "name": "raj", "regno": 12, "1": "raj", "2": 12},
{"0": 2, "name": "raja", "regno": 15, "1": "raja", "2": 15}
]
答案 1 :(得分:0)
json_encode有一个人类阅读选项:JSON_PRETTY_PRINT
请参阅doc:http://php.net/manual/en/function.json-encode.php
您将获得所需的输出