3v4l.org

run code in 300+ PHP versions simultaneously
<?php $a[] = ["ID" => 101, "CODE" => 1]; $a[] = ["ID" => 105, "CODE" => 2]; $a[] = ["ID" => 109, "CODE" => 2]; $b[] = ["ID" => 105, "Amount" => 200]; $b[] = ["ID" => 101, "Amount" => 100]; $keys = array_merge(array_keys($a[0]), array_keys($b[0])); $template = array_combine($keys, array_fill(0, count($keys), null)); $a = array_column($a, null, "ID"); $b = array_column($b, null, "ID"); ksort($a); ksort($b); $res = array_map(function ($e1, $e2) use ($template){ if ($e1 && $e2) return array_merge($e1, $e2); $e = $e1 ? $e1 : $e2; return array_replace ($template, $e); }, $a, $b); print_r($res);
Output for 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 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.14, 8.4.16 - 8.4.18, 8.5.0 - 8.5.3
Array ( [0] => Array ( [ID] => 101 [CODE] => 1 [Amount] => 100 ) [1] => Array ( [ID] => 105 [CODE] => 2 [Amount] => 200 ) [2] => Array ( [ID] => 109 [CODE] => 2 [Amount] => ) )
Output for 8.4.15
/bin/php-8.4.15: /usr/lib/libm.so.6: version `GLIBC_2.38' not found (required by /bin/php-8.4.15) /bin/php-8.4.15: /usr/lib/libm.so.6: version `GLIBC_2.35' not found (required by /bin/php-8.4.15) /bin/php-8.4.15: /usr/lib/libc.so.6: version `GLIBC_2.34' not found (required by /bin/php-8.4.15) /bin/php-8.4.15: /usr/lib/libc.so.6: version `GLIBC_2.38' not found (required by /bin/php-8.4.15)
Process exited with code 1.

preferences:
202.2 ms | 407 KiB | 5 Q