3v4l.org

run code in 300+ PHP versions simultaneously
<?php $array1 = [ ['date' => '1-Sep-2016', 'price1' => 98], ['date' => '1-Oct-2016', 'price1' => 77], ['date' => '1-Nov-2016', 'price1' => 87], ['date' => '1-Dec-2016', 'price1' => 88], ['date' => '1-Jan-2017', 'price1' => 91], ]; $array2 = [ ['date' => '1-Feb-2016', 'price2' => 98], ['date' => '1-Mar-2016', 'price2' => 77], ['date' => '1-Apr-2016', 'price2' => 87], ['date' => '1-May-2016', 'price2' => 88], ['date' => '1-Jun-2016', 'price2' => 91], ['date' => '1-Jul-2016', 'price2' => 88], ['date' => '1-Aug-2016', 'price2' => 88], ['date' => '1-Sep-2016', 'price2' => 88], ['date' => '1-Oct-2016', 'price2' => 88] ]; $stamps = []; $result = []; foreach (array_merge($array1, $array2) as $row) { $stamps[$row['date']] = strtotime($row['date']); $result[$stamps[$row['date']]] = ($result[$stamps[$row['date']]] ?? []) + $row; } array_multisort($stamps, $result); var_export($result);

preferences:
26.13 ms | 407 KiB | 5 Q