Simple scenario:
- change array keys
- merge recursive
- map merged elements back to object (stdClass)
Example:
//change key
$workFirstArray = array_combine(
array_map(function($object) { return $object->call_date;}, $firstArray), $firstArray
);
$workSecondArray = array_combine(
array_map(function($object) { return $object->call_date;}, $secondArray), $secondArray
);
//map merged elements back to StdClass
$result = array_map(function($element) {
if(is_array($element)) {
$element['call_date'] = end($element['call_date']);
$element=(object)$element;
}
return $element;
},
array_merge_recursive($workFirstArray, $workSecondArray)
);
output:
Array
(
[0] => stdClass Object
(
[call_date] => 2013-10-22 00:00:00
[first_amount] => 10
[second_amount] => 40
)
[1] => stdClass Object
(
[call_date] => 2013-10-23 00:00:00
[second_amount] => 30
)
[2] => stdClass Object
(
[call_date] => 2013-10-24 00:00:00
[second_amount] => 40
)
)