<?php
$arr1 = [ "A" => "dataA1", "B" => "dataB1", "C" => "dataC1"];
$arr2 = [ "A" => "dataA2", "C" => "dataC2", "D" => "dataD2"];
$out = array_reduce(
array_unique(array_merge(array_keys($arr1), array_keys($arr2))),
function($c, $k) use($arr1, $arr2) {
$c[$k] = array_merge(
[$arr1[$k] ?? null],
[$arr2[$k] ?? null],
);
return $c;
},
[]
);
var_dump($out);
- Output for 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.4, 8.3.6
- array(4) {
["A"]=>
array(2) {
[0]=>
string(6) "dataA1"
[1]=>
string(6) "dataA2"
}
["B"]=>
array(2) {
[0]=>
string(6) "dataB1"
[1]=>
NULL
}
["C"]=>
array(2) {
[0]=>
string(6) "dataC1"
[1]=>
string(6) "dataC2"
}
["D"]=>
array(2) {
[0]=>
NULL
[1]=>
string(6) "dataD2"
}
}
- Output for 8.3.5
- Warning: PHP Startup: Unable to load dynamic library 'sodium.so' (tried: /usr/lib/php/8.3.5/modules/sodium.so (libsodium.so.23: cannot open shared object file: No such file or directory), /usr/lib/php/8.3.5/modules/sodium.so.so (/usr/lib/php/8.3.5/modules/sodium.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
array(4) {
["A"]=>
array(2) {
[0]=>
string(6) "dataA1"
[1]=>
string(6) "dataA2"
}
["B"]=>
array(2) {
[0]=>
string(6) "dataB1"
[1]=>
NULL
}
["C"]=>
array(2) {
[0]=>
string(6) "dataC1"
[1]=>
string(6) "dataC2"
}
["D"]=>
array(2) {
[0]=>
NULL
[1]=>
string(6) "dataD2"
}
}
- Output for 7.1.0 - 7.1.33, 7.2.0 - 7.2.33
- Parse error: syntax error, unexpected ')' in /in/cg86V on line 11
Process exited with code 255.
preferences:
214.81 ms | 402 KiB | 211 Q