<?php
function array_flatten($array, $allowedKeys = [], $result = []) {
if(!is_array($array)) {
return false;
}
foreach($array as $key => $value) {
if(is_array($value)) {
$result = array_flatten($value, $allowedKeys, $result);
} else if(in_array($key, $allowedKeys)) {
$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, $allowedKeys);
var_dump($addresses);
preferences:
78.59 ms | 402 KiB | 5 Q