3v4l.org

run code in 300+ PHP versions simultaneously
<?php $books_sorted = array( 0 => array( "title" => "In Search of Lost Time", "count" => 2 ), 1 => array( "title" => "Don Quixote" ), 2 => array( "title" => "The Great Gatsby" ) ); $books_available = array( 0 => array( "title" => "Moby Dick", "count" => 1 ), 1 => array( "title" => "In Search of Lost Time", "count" => 3, ), 2 => array( "title" => "The Great Gatsby", "count" => 7 ), 3 => array( "title" => "War and Peace", "count" => 9 ) ); $sorted_titles = array_column($books_sorted, 'title'); $available_titles = array_reduce($books_available, function($result, $e) { $result[$e['title']] = $e; return $result; }); $third_array = array_merge( array_map( function($e) use ($available_titles) { return array_merge($available_titles[$e['title']], $e); }, array_filter($books_sorted, function($e) use ($available_titles) { return in_array($e['title'], array_keys($available_titles)); }) ), array_filter($books_available, function($e) use ($sorted_titles) { return !in_array($e['title'], $sorted_titles); }) ); print_r($third_array);

preferences:
39.55 ms | 410 KiB | 5 Q