Evening all,
Can someone suggest an approach for recursively merging arrays, in the same way as PHP's array_merge_recursive()
function does, except that integer keys are treated the same as string keys?
(its important for the process that the keys remain parse-able as integers)
For example:
$a = array(
'a' => array(1)
);
$b = array(
'a' => array(2, 3)
);
var_dump(array_merge_recursive($a, $b));
Will merge the on the "a"
key and output, as expected, the following:
array(1) {
["a"] => array(3) {
[0] => int(1)
[1] => int(2)
[2] => int(3)
}
}
However, when using integers for keys (even when as a string):
$a = array(
'123' => array(1)
);
$b = array(
'123' => array(2, 3)
);
var_dump(array_merge_recursive($a, $b));
array_merge_recursive()
will return:
array(2) {
[0] => array(3) {
[0] => int(1)
}
[1] => array(2) {
[0] => int(2)
[1] => int(3)
}
}
Instead of the much desired:
array(1) {
["123"] => array(3) {
[0] => int(1)
[1] => int(2)
[2] => int(3)
}
}
Thoughts?