Bonjour,
J'utilise un formulaire avec plusieurs champs regroupés. un exemple d'un des champ input :
<input id="langue[fr_FR][titre]" type="text" value="titre" name="langue[fr_FR][titre]">
Je récupère ceci à la soumission ($data) :
Code : Tout sélectionner
stdClass Object
(
[id] => 1
[categorie] => cat1
[langue] => Array
(
[fr_FR] => Array
(
[titre] => titre
[groupe] => groupe_1
[contenu] => contenu en fr
)
[en_US] => Array
(
[titre] => title
[groupe] => groupe_2
[contenu] => contenu en en
)
)
)
Je voudrais récupérer la valeur du titre en fr dans un fonction qui connait $data (le tableau complet de résultat) et le name du champ input (langue[fr_FR][titre]).
Si je devais l'écrire en entier je devrais faire : echo $data->langue['fr_FR']['titre'];
pour obtenir la valeur "titre".
Mon problème et que je ne sais pas comment m'y prendre car je voudrais pouvoir récuperer la valeur dans ce cas de figure mais également avec plus de tableau imbriqués ou moins :
exemple avec plus : langue[fr_FR][titre][detail][etc]
et avec moins : langue[fr_FR]
Je ne suis pas certain d'être sur la bonne pise mais pour l'instant j'explore (explode) le nom du champ input pour en avoir le contenu et j'ai cré une variable pour avoir le contenu de langue
$name = 'langue[fr_FR][titre]';
$name_input = explode('[',$name);
foreach($name_input as $k => $v){
$name_input[$k] = str_replace(']','',$v);
$lang = $data->$name_input[0];
}
/*
$name_input =
Array
(
[0] => acls_translation
[1] => fr_FR
[2] => acls_content
)
*/
j'espère avoir été assez clair. D'avance merci pour votre aide.