【发布时间】:2014-03-02 16:58:11
【问题描述】:
我有 2 个数组。
商品数组和分隔符数组。
$goods = [
[
'good_id' => '1',
'name' => 'Good 1',
],
[
'good_id' => '24',
'name' => 'Good 24',
],
[
'good_id' => '335',
'name' => 'Good 335',
],
[
'good_id' => '1986',
'name' => 'Good 1986',
],
];
$separators = [
[
'id' => '1',
'good_id' => '0',
'name' => 'Separator 1',
],
[
'id' => '2',
'good_id' => '0',
'name' => 'Separator 2',
],
[
'id' => '3',
'good_id' => '4',
'name' => 'This separator should set after 4 good_id and before 5 good_id if exists',
],
[
'id' => '4',
'good_id' => '47',
'name' => 'This separator should set after 47 good_id and before 48 good_id if exists',
],
[
'id' => '5',
'good_id' => '9999',
'name' => 'This separator should set after 9999 good_id and before 10000 good_id if exists',
],
[
'id' => '6',
'good_id' => '9999',
'name' => 'This separator should set after 9999 good_id and AFTER prevously separator AND before 10000 good_id if exists',
]
];
我需要通过 good_id 合并这些数组。 Spearators good_id 应该在good_id 之后设置good_id。
$merged = [
[
'id' => '1',
'good_id' => '0',
'name' => 'Separator 1',
],
[
'id' => '2',
'good_id' => '0',
'name' => 'Separator 2',
],
[
'good_id' => '1',
'name' => 'Good 1',
],
[
'id' => '3',
'good_id' => '4',
'name' => 'This separator should set after 4 good_id and before 5 good_id if exists',
],
[
'good_id' => '24',
'name' => 'Good 24',
],
[
'id' => '4',
'good_id' => '47',
'name' => 'This separator should set after 47 good_id and before 48 good_id if exists',
],
[
'good_id' => '335',
'name' => 'Good 335',
],
[
'good_id' => '1986',
'name' => 'Good 1986',
],
[
'id' => '5',
'good_id' => '9999',
'name' => 'This separator should set after 9999 good_id and before 10000 good_id if exists',
],
[
'id' => '6',
'good_id' => '9999',
'name' => 'This separator should set after 9999 good_id and AFTER prevously separator AND before 10000 good_id if exists',
]
];
【问题讨论】: