3v4l.org

run code in 300+ PHP versions simultaneously
<?php $arr1 = [ 99 => ["number" => [1,3]], 88 => ["number" => [12,13,21]] ]; $arr2 = [ ["a"=>"01","b"=> '["01", "02", "03", "04"]'], ["a"=>"02","b"=> '["11", "12", "13"]'], ["a"=>"03","b"=> '["21", "22", "23"]'] ]; $blacklist = []; foreach ($arr1 as ['number' => $numbers]) { foreach ($numbers as $n) { $blacklist[$n] ??= str_pad($n, 2, '0', STR_PAD_LEFT); } } foreach ($arr2 as ['b' => &$b]) { $b = array_values(array_diff(json_decode($b, true), $blacklist)); } var_export($arr2);
Output for 7.4.0 - 7.4.33, 8.0.1 - 8.0.30, 8.1.0 - 8.1.34, 8.2.0 - 8.2.30, 8.3.0 - 8.3.30, 8.4.1 - 8.4.18, 8.5.0 - 8.5.3
array ( 0 => array ( 'a' => '01', 'b' => array ( 0 => '02', 1 => '04', ), ), 1 => array ( 'a' => '02', 'b' => array ( 0 => '11', ), ), 2 => array ( 'a' => '03', 'b' => array ( 0 => '22', 1 => '23', ), ), )

preferences:
83.9 ms | 1308 KiB | 4 Q