我有一个php数组,它输出像这样的json:
"extraDetails":[
{
"basic":{
"0":{
"id":"101"
},
"1":{
"details":"176381954"
},
"16":{
"birth_date":"1\/15\/1973"
}
]
有多个标题,例如extraDetails。问题是,我希望所有东西都向上移动一个有数字的地方。像这样:基本上我想删除0、1和16以及json中的任意数字。
"extraDetails":[
{
"basic":{
"id":"101"
"idTest":"101"
"idTest2":"101"
},
"details":"176381954"
"MoreDetails":"176381954"
},
"birth_date":"1\/15\/1973"
}
]
更新:这是数组:
array(1) {
basic info=>
array(16) {
[0]=>
array(1) {
["id"]=> string(7) "1798919"
}
[1]=>
array(1) { ["Somevalue"]=>
string(9) "164315268"
}
[16]=>
array(1) {
["Somevalue"]=>
string(9) "2/15/1977"
}
[18]=>
array(1) {
["Somevalue"]=>
string(5) "White"
}
[20]=>
array(1) {
["Somevalue"]=> string(2) "40"
}
更新:这就是我希望它的理想外观:
array(1) {
basic info=>
array(16) {
array(1) {
["id"]=> string(7) "1798919"
}
array(1) { ["Somevalue"]=>
string(9) "164315268"
}
array(1) {
["Somevalue"]=>
string(9) "2/15/1977"
}
array(1) {
["Somevalue"]=>
string(5) "White"
}
array(1) {
["Somevalue"]=> string(2) "40"
}
答案 0 :(得分:0)
键在JSON中是唯一的,但在PHP数组中不是唯一的,因此我假设这是复制粘贴问题或其他问题。如果索引是唯一的,则将它们合并(PHP> = 5.6.0):
$array['basic info'] = array_merge(...$array['basic info']);
对于旧版本:
$array['basic info'] = call_user_func_array('array_merge', $array['basic info']);