我如何分组2阵列?

时间:2017-05-24 02:42:46

标签: php arrays multidimensional-array merge

您可以在下面看到我的案例

数组首先是这样的:

=============================================== ======================

array:3 [▼
  0 => {#566 ▼
    +"id": 1
    +"name": "FIlZtX88m7B6mPykVjVUOEx652mSNP12H8u0yqBQ.jpeg"
  }
  1 => {#592 ▼
    +"id": 2
    +"name": "b85irPvb4HCtNlytddpC055UYkTA53qMNW4AldT3.png"
  }
  2 => {#593 ▼
    +"id": 3
    +"name": "CQSRte8sdcXEDSAodlT4MIJbnwHRqgMQpk7wzdjx.png"
  }
]

=============================================== ======================

数组二是这样的:

=============================================== ======================

  0 => array:2 [▼
    "id" => 1
    "name" => "jLKI9ySk58vGkdoIZEXVLHRMECCbRufhOlA0obrN.png"
  ]
  1 => array:2 [▼
    "id" => 2
    "name" => "o82KG04rqlBTFkqf4WraVE5Gj9rbL1TB6SNKDHyd.png"
  ]
]

=============================================== ======================

我想将2个数组分组为:

=============================================== ======================

array:3 [▼
  0 => {#566 ▼
    +"id": 1
    +"name": "FIlZtX88m7B6mPykVjVUOEx652mSNP12H8u0yqBQ.jpeg"
  }
  1 => {#592 ▼
    +"id": 2
    +"name": "b85irPvb4HCtNlytddpC055UYkTA53qMNW4AldT3.png"
  }
  2 => {#593 ▼
    +"id": 3
    +"name": "CQSRte8sdcXEDSAodlT4MIJbnwHRqgMQpk7wzdjx.png"
  }
  3 => {#594 ▼
    +"id": 4
    +"name": "jLKI9ySk58vGkdoIZEXVLHRMECCbRufhOlA0obrN.png"
  }
  4 => {#595 ▼
    +"id": 5
    +"name": "o82KG04rqlBTFkqf4WraVE5Gj9rbL1TB6SNKDHyd.png"
  }
]

=============================================== ======================

是否可以做到?

1 个答案:

答案 0 :(得分:1)

试试这个,你可以计算第二个数组的id的偏移量。然后使用array_merge获取结果。

$offset = end($array1)->id;
array_merge($array1, array_map(function($v)use($offset){$v['id'] += $offset; return (object)$v;}, $array2));