<?php
function append(array $init, array $add, $key = null, $initialKeyExist = true)
{
$_init = $init;
if (is_null($key)) {
foreach ($add as $key => $value)
$_init[$key] = $value;
return array_merge($_init, $init);
} else {
if ($initialKeyExist) {
$_init[$key] = $add;
return [
$key => array_merge($_init[$key], $init[$key])
];
} else {
foreach ($add as $k => $value)
$_init[$key][$k] = $value;
return $_init;
}
}
}
$a = [
'phone' => [
'code' => '+38',
],
];
$b = [
'prefix' => '095',
'number' => '7700418',
];
var_dump(append($a, $b, 'phone'));
$a = [
'code' => '+38',
];
$b = [
'prefix' => '095',
'number' => '7700418',
];
var_dump(append($a, $b));
$a = [
'phone' => [
'code' => '+38',
],
];
$b = [
'prefix' => '095',
'number' => '7700418',
];
var_dump(append($a, $b, 'phone', false));
preferences:
44.43 ms | 402 KiB | 5 Q