- parse_str: documentation ( source)
- reset: documentation ( source)
- print_r: documentation ( source)
- array_shift: documentation ( source)
<?php
$wtf = array();
$a = parse_str("elements[55][e_id]=1", $tmp_save1);
$wtf = array_merge_recursive_new($wtf, $tmp_save1);
$b = parse_str("elements[55][wtf]=2", $tmp_save2);
$wtf = array_merge_recursive_new($wtf, $tmp_save2);
print_r($wtf);
function array_merge_recursive_new() {
$arrays = func_get_args();
$base = array_shift($arrays);
foreach ($arrays as $array) {
reset($base); //important
while (list($key, $value) = @each($array)) {
if (is_array($value) && @is_array($base[$key])) {
$base[$key] = array_merge_recursive_new($base[$key], $value);
} else {
$base[$key] = $value;
}
}
}
return $base;
}