EDIT: Ce sujet à été ré-ouvert en tentant d'apporter des explications plus claires et pertinentes. Consulter le topic.
Bonjour à toutes et à tous,
Je suis en train sécher sur problème pour lequel je n'en vois pas le bout.
Je dispose d'une variable $data qui est un tableau associatif multi-dimensionnel.
Je génère à partir de cette variable un formulaire sous forme liste et d'éléments Input.
Ces éléments Input servent à modifier les valeurs de la variable $data.
La génération de la liste ne me pose aucun problème, je pars d'une fonction qui contient une boucle et qui s'auto-rappelle.
Là où la question à 3 mille dollars se pose c'est comment faire pour récupérer le chemin qui conduit à une valeur perdue au fond de ma variable $data afin de la transmettre via l'attribut Name de mon Input ?
En effet, la boucle ne me permet de récupérer que la clé de la valeur visée mais pas le cheminement vers cette clé.
Ainsi pour une valeur correspondant par exemple à $datas['level1']['level2']['level3'], ma boucle me renvoi uniquement "level3" au lieu de récupérer tous les levels.
J'avais penser utiliser une variable de type string qui se concatène au fur et à mesure de la progression dans la boucle mais justement lorsqu'on boucle un sous-niveau et qu'on revient à son parent, la dernière clé est préservée dans la variable string donnant comme résultat quelque-chose comme level1-level2-level2-sub1-.
J'ai l'impression d'être dans une impasse, quelqu'un n'aurait-il pas un début de piste pour moi ?
Merci et bonne journée.
Pour l'instant voici où j'en suis:
(j'ai enlevé du code toute vérification et éléments Html (liste) afin de se concentrer sur l'essentiel)
Modifié par Greg_Lumiere (18 Feb 2016 - 13:52)
Bonjour à toutes et à tous,
Je suis en train sécher sur problème pour lequel je n'en vois pas le bout.
Je dispose d'une variable $data qui est un tableau associatif multi-dimensionnel.
Je génère à partir de cette variable un formulaire sous forme liste et d'éléments Input.
Ces éléments Input servent à modifier les valeurs de la variable $data.
La génération de la liste ne me pose aucun problème, je pars d'une fonction qui contient une boucle et qui s'auto-rappelle.
Là où la question à 3 mille dollars se pose c'est comment faire pour récupérer le chemin qui conduit à une valeur perdue au fond de ma variable $data afin de la transmettre via l'attribut Name de mon Input ?
En effet, la boucle ne me permet de récupérer que la clé de la valeur visée mais pas le cheminement vers cette clé.
Ainsi pour une valeur correspondant par exemple à $datas['level1']['level2']['level3'], ma boucle me renvoi uniquement "level3" au lieu de récupérer tous les levels.
J'avais penser utiliser une variable de type string qui se concatène au fur et à mesure de la progression dans la boucle mais justement lorsqu'on boucle un sous-niveau et qu'on revient à son parent, la dernière clé est préservée dans la variable string donnant comme résultat quelque-chose comme level1-level2-level2-sub1-.
J'ai l'impression d'être dans une impasse, quelqu'un n'aurait-il pas un début de piste pour moi ?
Merci et bonne journée.
Pour l'instant voici où j'en suis:
(j'ai enlevé du code toute vérification et éléments Html (liste) afin de se concentrer sur l'essentiel)
<?php
fonction boucle(&$array){
static $out='';
foreach($array as $key=>$value){
if(is_array($value)){
$out.='<input type="text" id="'" name="Modifier_cle['.$key.']" PLACEHOLDER="'.$value.'">';// ici à la place de key c'est le chemin de clé qu'il faudrait identifier
boucle($value);
}else{
$out.='<input type="text" id="" name="Modifier_cle['.$key.']" PLACEHOLDER="'.$value.'">';
}
}if(!empty($out)){return $out;}return;}
?>
Modifié par Greg_Lumiere (18 Feb 2016 - 13:52)