Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/237.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用PHP在数组列表中添加重复相同的值_Php_Json - Fatal编程技术网

如何使用PHP在数组列表中添加重复相同的值

如何使用PHP在数组列表中添加重复相同的值,php,json,Php,Json,我需要使用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":"

我需要使用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}
]

请帮我解决这个问题。

json\u编码有一个供人阅读的选项:json\u PRETTY\u PRINT

见文件:

您将获得所需的输出

,您可以使用和来合并基于索引的数组和基于键的数组。这可以在内部完成:

输出(重新格式化):


问题不清楚:合并的规则是什么?(例如:为什么在预期的输出中
“2”:12
)在检索数据时不能这样做?第三项应该是18作为最后一个值吗?看起来更像第一项是ID,第二项是名称值,第三项是名称键和名称值,第四项是regno值,第五项是regno键和regno值。。
$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}
]