<?php
function array_flatten($array) {
if (!is_array($array)) {
return false;
}
$result = array();
foreach ($array as $key => $value) {
if (is_array($value)) {
$result = array_merge($result, array_flatten($value));
} else {
$result[$key] = $value;
}
}
return $result;
}
$addresses = array_flatten([
'firstname' => 'first',
'middle' => 'middle',
'lastname' => 'last',
'address' => [
'street' => 'streeeeeet',
'housenumber' => '10'
]
]);
$allowedKeys = [
'firstname',
'middlename',
'street',
'lastname',
'housenumber',
];
foreach ($allowedKeys as $key) {
if (array_key_exists($key, $addresses)) {
if (is_array($addresses[$key])) {
$address[$key] = array_walk_recursive($addresses[$key], function() {
});;
} else {
$address[$key] = $addresses[$key];
}
}
}
var_dump($address);
preferences:
50.63 ms | 402 KiB | 5 Q