3v4l.org

run code in 500+ PHP versions simultaneously
<?php $k_a = array( array( "article" => "c", "price" => 2 ), array( "article" => "f", "price" => 3 ) ); $k_b = array( array( "article" => "a", "price" => 2 ), array( "article" => "b", "price" => 4 ), array( "article" => "c", "price" => 1 ), array( "article" => "g", "price" => 3 ) ); $final_article_array = array_values(array_unique(array_merge(array_column($k_a,'article'),array_column($k_b,'article')))); sort($final_article_array); $k_a_new = []; $k_b_new = []; foreach($final_article_array as $key=>$final_article_arr){ $k = array_search($final_article_arr,array_column($k_a,'article')); if($k !==false){ $k_a_new[$final_article_arr]['article'] = $final_article_arr; $k_a_new[$final_article_arr]['price'] = $k_a[$k]['price']; }else{ $k_a_new[$final_article_arr]['article'] = $final_article_arr; $k_a_new[$final_article_arr]['price'] = 0; } $j = array_search($final_article_arr,array_column($k_b,'article')); if($j !==false){ $k_b_new[$final_article_arr]['article'] = $final_article_arr; $k_b_new[$final_article_arr]['price'] = $k_b[$j]['price']; }else{ $k_b_new[$final_article_arr]['article'] = $final_article_arr; $k_b_new[$final_article_arr]['price'] = 0; } } $k_a_new = array_values($k_a_new); $k_b_new = array_values($k_b_new); print_r($k_a_new); echo PHP_EOL; print_r($k_b_new);

preferences:
53.07 ms | 2263 KiB | 5 Q