I'm need to merge an array of rows into groups and use the lowest id in each group as the first level key. Within each group, all encountered ids (excluding the lowest) should be gathered in a subarray called mergedWith
.
Sample input:
[
1649 => ["firstName" => "jack", "lastName" => "straw"],
1650 => ["firstName" => "jack", "lastName" => "straw"],
1651 => ["firstName" => "jack", "lastName" => "straw"],
1652 => ["firstName" => "jack", "lastName" => "straw"],
]
My desired result:
[
1649 => [
"firstName" => "jack"
"lastName" => "straw"
"mergedWith" => [1650, 1651, 1652]
]
]
I have a loop running that can pull out duplicates and find the lowest ID in the group, but not sure of the right way to collapse them into one.
I've shown the desired results of a search that has identified id's with duplicate entries in those particular fields. I just want to further refine it to not delete, but add a field on the end of each group that says ["mergedWith" => [1650, 1651, 1652]]
mergedWith
column with this element's index. – Sorcha"id" =>'1650' "id" =>'1651' "id" =>'1652'
is an impossibility. Please provide a realistic minimal reproducible example. – Sylvanite