I have a simple array that contains the data I need but needs to be formatted a little differently:
It is currently 1 collection that holds an array of collections. However, I need to merge certain data points if they exists.
<code>
[0] => [
'name' => 'Test 1 Name',
'districts' => [
'district' => '0001',
'zone' => 'blue'
],
'name' => 'Test 2 Name',
'districts' => [
'district' => '0002',
'zone' => 'red'
],
'name' => 'Test 3 Name',
'districts' => [
'district' => '0003',
'zone' => 'yellow'
],
'name' => 'Test 4 Name',
'districts' => [
'district' => '0004',
'zone' => 'black'
],
'name' => 'Test 5 Name',
'districts' => [
'district' => '0001',
'zone' => 'green'
],
]
</code>
<code>
[0] => [
'name' => 'Test 1 Name',
'districts' => [
'district' => '0001',
'zone' => 'blue'
],
'name' => 'Test 2 Name',
'districts' => [
'district' => '0002',
'zone' => 'red'
],
'name' => 'Test 3 Name',
'districts' => [
'district' => '0003',
'zone' => 'yellow'
],
'name' => 'Test 4 Name',
'districts' => [
'district' => '0004',
'zone' => 'black'
],
'name' => 'Test 5 Name',
'districts' => [
'district' => '0001',
'zone' => 'green'
],
]
</code>
[0] => [
'name' => 'Test 1 Name',
'districts' => [
'district' => '0001',
'zone' => 'blue'
],
'name' => 'Test 2 Name',
'districts' => [
'district' => '0002',
'zone' => 'red'
],
'name' => 'Test 3 Name',
'districts' => [
'district' => '0003',
'zone' => 'yellow'
],
'name' => 'Test 4 Name',
'districts' => [
'district' => '0004',
'zone' => 'black'
],
'name' => 'Test 5 Name',
'districts' => [
'district' => '0001',
'zone' => 'green'
],
]
As you can see the first district array and the last district array have the same district but different zones.
When that happens I need them to be merged into an array with the first district it finds that’s similar and remove the other.
Wanting these results on a collection dump:
<code>
[0] => [
'name' => 'Test 1 Name',
'districts' => [
'district' => '0001',
'zone' => [
'blue',
'green'
]
],
'name' => 'Test 2 Name',
'districts' => [
'district' => '0002',
'zone' => 'red'
],
'name' => 'Test 3 Name',
'districts' => [
'district' => '0003',
'zone' => 'yellow'
],
'name' => 'Test 4 Name',
'districts' => [
'district' => '0004',
'zone' => 'black'
]
]
</code>
<code>
[0] => [
'name' => 'Test 1 Name',
'districts' => [
'district' => '0001',
'zone' => [
'blue',
'green'
]
],
'name' => 'Test 2 Name',
'districts' => [
'district' => '0002',
'zone' => 'red'
],
'name' => 'Test 3 Name',
'districts' => [
'district' => '0003',
'zone' => 'yellow'
],
'name' => 'Test 4 Name',
'districts' => [
'district' => '0004',
'zone' => 'black'
]
]
</code>
[0] => [
'name' => 'Test 1 Name',
'districts' => [
'district' => '0001',
'zone' => [
'blue',
'green'
]
],
'name' => 'Test 2 Name',
'districts' => [
'district' => '0002',
'zone' => 'red'
],
'name' => 'Test 3 Name',
'districts' => [
'district' => '0003',
'zone' => 'yellow'
],
'name' => 'Test 4 Name',
'districts' => [
'district' => '0004',
'zone' => 'black'
]
]
The name does not play a part in this and doesn’t matter. Added for basic data point.