UPDATE: One array is an actual array, the other is an object array.
I'm wanting to combine two arrays repeating data where keys match.
$arr1 = array(
object(stdClass){"id" => 1, "key" => 1, "content" => "blah", "extra" => "extra data"},
object(stdClass){"id" => 2, "key" => 2, "content" => "bleep", "extra" => "extra data"},
object(stdClass){"id" => 3, "key" => 3, "content" => "bloop", "extra" => "extra data"},
object(stdClass){"id" => 4, "key" => 2, "content" => "zip", "extra" => "extra data"},
object(stdClass){"id" => 5, "key" => 1, "content" => "zorp", "extra" => "extra data"}
);
$arr2 = array(
array("id" => 1, "otherkey" => 1, "title" => "foo"),
array("id" => 2, "otherkey" => 2, "title" => "bar"),
array("id" => 3, "otherkey" => 3, "title" => "baz")
);
$desiredArr = {
array("id" => 1, "key" => 1, "content" => "blah", "extra" => "extra data", "title" => "foo"),
array("id" => 2, "key" => 2, "content" => "bleep", "extra" => "extra data", "title" => "bar"),
array("id" => 3, "key" => 3, "content" => "bloop", "extra" => "extra data", "title" => "baz"),
array("id" => 4, "key" => 2, "content" => "zip", "extra" => "extra data", "title" => "bar"),
array("id" => 5, "key" => 1, "content" => "zorp", "extra" => "extra data", "title" => "foo")
};
I've tried array_merge(), array_walk_recursive(), array_combine(), array_push()
with nested foreach()
and am still working on a winning combination of such but the closest I've gotten is appending $arr2
to $arr1
which results in:
$newArr = {
array("id" => 1, "key" => 1, "content" => "blah", "extra" => "extra data"),
array("id" => 2, "key" => 2, "content" => "bleep", "extra" => "extra data"),
array("id" => 3, "key" => 3, "content" => "bloop", "extra" => "extra data"),
array("id" => 4, "key" => 2, "content" => "zip", "extra" => "extra data"),
array("id" => 5, "key" => 1, "content" => "zorp", "extra" => "extra data"),
array("id" => 6, "otherkey" => 1, "title" => "foo"),
array("id" => 7, "otherkey" => 2, "title" => "bar"),
array("id" => 8, "otherkey" => 3, "title" => "baz")
};
If someone has run into this before your guidance is much appreciated!