首页 > 解决方案 > 如何使用 PHP 在数组列表中添加重复相同的值

问题描述

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

请帮我解决这个问题。

标签: phpjson

解决方案


您可以使用array_values()and+运算符来合并基于索引的数组和基于键的数组。这可以在里面完成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}
]

推荐阅读