重新格式化php数组-json

时间:2019-06-20 19:21:44

标签: php arrays json

我有一个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"
  }

1 个答案:

答案 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']);