Hello,
ça fait un petit moment que je me retourne le cerveau pour resoudre ce petit probleme mais sans succés.
J'ai un tableau de clé/valeur de ce type :
[
"address_billing_city" => "cityName",
"phone_personal_mobile" => "0600000000",
"phone_personal_home" => "0300000000"
]
ce que je veux obtenir c'est un tableau imbriqué à partir de la clé du premier tableau et mettre la valeur dans la dernière, genre ca :
[
"address" => [
"billing" => [
"city" => "cityName"
]
"personal" => [
"mobile" => "0600000000",
"home" => "0300000000"
]
]
]
J'ai essayé plusieurs variantes avec un while, avec un for qui recupérer les clés par l'index. Mais la j'ai tellement cherché dans tous les sens que je n'arrive plus à réfléchir.
Je pense que le prochiane essaie, je vais essayer avec une fonction qui s'auto-rappel.
Si vous avez une piste.
Merci.
ah au bout d'un moment, on fini par trouver.
private function pathToArray(&$array, string $path, &$value)
{
$pathParts = explode("_", $path);
$current = &$array;
foreach($pathParts as $key) {
if (!is_array($current)) { $current = []; }
$current = &$current[$key];
}
$backup = $current;
$current = $value;
return $backup;
}