3v4l.org

run code in 200+ php & hhvm versions
<?php $arr1 = [ [ "id"=>"3", "weight"=>"20", "percentage"=>"80", ], [ "id"=>"1", "weight"=>"50", "percentage"=>"80", ], [ "id"=>"2", "weight"=>"40", "percentage"=>"80", ] ]; $arr2 = [ [ "id"=>"1", "stock"=>"9539.00" ], [ "id"=>"2", "stock"=>"9468.00" ], [ "id"=>"3", "stock"=>"9295.00" ] ]; $keys = []; foreach ($arr2 as $item) $keys[$item['id']] = $item['stock']; $newArr = array_map(function($item) use($keys){ $item['stock'] = $keys[$item['id']]; return $item; }, $arr1); var_dump($newArr);
based on EfdTM
Output for 5.6.38 - 7.2.12
array(3) { [0]=> array(4) { ["id"]=> string(1) "3" ["weight"]=> string(2) "20" ["percentage"]=> string(2) "80" ["stock"]=> string(7) "9295.00" } [1]=> array(4) { ["id"]=> string(1) "1" ["weight"]=> string(2) "50" ["percentage"]=> string(2) "80" ["stock"]=> string(7) "9539.00" } [2]=> array(4) { ["id"]=> string(1) "2" ["weight"]=> string(2) "40" ["percentage"]=> string(2) "80" ["stock"]=> string(7) "9468.00" } }