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