Problème boucle foreach et concaténation
Résolu
Mpvio
-
Mpvio -
Mpvio -
Bonjour,
Je voudrais afficher plusieurs paramètres à l'aide d'une boucle. Jusque là pas de problème je sais qu'il faut utiliser un foreach pour mon cas. En revanche, mon problème intervient quand cette boucle doit intervenir dans une chaîne de caractère. Il faudrait donc que j'arrive à concaténer correctement pour permettre de bien différencier ma boucle, le texte en dur et les variables à afficher :/
Voici l'erreur affichée : Parse Error: syntax error, unexpected 'foreach' (T_FOREACH)
Voici mon code :
Je voudrais afficher plusieurs paramètres à l'aide d'une boucle. Jusque là pas de problème je sais qu'il faut utiliser un foreach pour mon cas. En revanche, mon problème intervient quand cette boucle doit intervenir dans une chaîne de caractère. Il faudrait donc que j'arrive à concaténer correctement pour permettre de bien différencier ma boucle, le texte en dur et les variables à afficher :/
Voici l'erreur affichée : Parse Error: syntax error, unexpected 'foreach' (T_FOREACH)
Voici mon code :
"parameters": ['. foreach($parameters as $parameter){ echo '{ "name": "'.$parameter.'", "value": "'.$parameter_value.'"},'.;}.' ]
A voir également:
- Problème boucle foreach et concaténation
- Xiaomi s'éteint tout seul et se rallume en boucle - Forum Xiaomi
- Pc qui s'allume et s'éteint en boucle - Forum Virus
- Tv orange chargement en boucle ✓ - Forum TV & Vidéo
- Huawei s'allume et s'éteint en boucle - Forum Huawei
- Boucle excel sans macro - Forum Excel
2 réponses
Bonjour,
Tu ne peux pas introduire directement en foreach au milieu d'une chaine de caractères....
Faut la faire à part....
un truc du genre :
Tu ne peux pas introduire directement en foreach au milieu d'une chaine de caractères....
Faut la faire à part....
un truc du genre :
foreach($parameters as $parameter){ $strTmp .= '{ "name": "'.$parameter.'", "value": "'.$parameter_value.'"},'; } echo '"parameters": ['. $strTmp.']';
Salut,
Il faudrait voir la structure de ton tableau $parameters mais le résultat que tu attends ressemble au format json. Dans ce cas l'utilisation de json_encode devrait faciliter le traitement.
Par exemple avec le tableau suivant :
Bonne journée
Il faudrait voir la structure de ton tableau $parameters mais le résultat que tu attends ressemble au format json. Dans ce cas l'utilisation de json_encode devrait faciliter le traitement.
Par exemple avec le tableau suivant :
$parameters = array('paramaters' => array( array('name' => 'param1', 'value' => 'value1'), array('name' => 'param2', 'value' => 'value2') ) ); echo json_encode($parameters); // {"paramaters":[{"name":"param1","value":"value1"},{"name":"param2","value":"value2"}]}
Bonne journée
Merci de ta réponse ! Cela fonctionne, en revanche cela me récupère seulement le dernier paramètre alors que normalement je devrais en récupérer 6 :/
Tu as bien vu le point devant le égale dans ce que j'ai écrit ?
Le point sert à quoi ??
Pour résumer le code suivant :
est équivalent au code suivant :
Il faut donc initialiser la variable $strTmp avant la boucle pour ne pas avoir d'erreur au premier tour de la boucle (car la variable $strTmp n'est pas initialisée) :