Catégories:
Bonjour
Je travaille sur contemplate, et j’ai un valeur à valeurs «illimité». Je suis donc obligé de copier-coller un certain nombre de fois le même code PHP d’affichage en mettant [0], [1], [2], etc…
Existe-il une boucle pour écrire le code une seule fois et le faire tourner jusqu’à ce que toutes les valeurs aient été affichées ?
Merci
- Vous devez vous identifier ou créer un compte pour écrire des commentaires

SVP ! Up !
Merci
mysteriousfea
126
Please please please c’est très important ! Merci de m’aiguiller !
mysteriousfea
126
Normalement, avec un foreach on peut lire tous les éléments d’un tableau
<?php foreach ($array as $value) :print $value;
endforeach;
?>
vincent59
2438
Oui, je pense que c’est ça qui m’intéresse, merci. Néanmoins, je ne m’y connais pas du tout en PHP, pourrais-tu m’aiguiller un petit peu plus ?
J’ai la variable $node2->field_conseilmun_municipal[X][‘value’] où X part de 0 et PEUT aller jusqu’à 59 (pas forcément).
J’aimerais afficher
<li>'.$node2->field_conseilmun_municipal[X]['value'].'</li>pour toutes les valeurs de X qui sont définies (et que la boucle s’arrête quand $node2->field_conseilmun_municipal[X][‘value’] n’est plus défini.Comment faire ?
Merci encore.
mysteriousfea
126
Si tu as un tableau à 2 dimensions (ce qui semble le cas), tu pourrais faire
foreach ($node2->field_conseilmun_municipal as $v1 ) {echo '<li>',$v1['value'],'</li>';
}
Normalement cela doit fonctionner. j’ai testé sur un tableau à 2 dimensions, c’est ok.
vincent59
2438
Mais, dans ta proposition, où passe le [X] ?
Merci en tout cas pour ton aide.
mysteriousfea
126
Justement, le X disparait, c’est sur ce premier membre du tableau que l’on boucle…
La variable $node2->field_conseilmun_municipal est le tableau à 2 dimensions. En passant dans le foreach on le «transforme» en tableau à 1 dimension, que l’on peut adresser avec la notation [0], [1] etc ou [‘valeur’] si on est en associatif.
vincent59
2438
Ben en tout cas ça ne fonctionne pas…
J’ai mis :
<?phpforeach ($node2->field_conseilmun_municipal as $v1 ) {
echo '<li>',$v1['value'],'</li>';
} ?>
Et rien ne s’affiche…
Qu’est qui peut clocher ?
mysteriousfea
126
Est-ce que tu peux faire un
echo '<pre>';var_dump($node2->field_conseilmun_municipal);
echo '</pre>';
quelque part avant ta boucle pour voir le contenu du tableau ?
vincent59
2438
Il me retourne
NULL… Pourtant le champ est bien rempli avec une cinquantaine de valeurs.mysteriousfea
126
Alors ça c’est très étrange…
Et la même chose sur $node2->field_conseilmun_municipal[0] ?
Normalement, le var_dump donne le type et la structure de la variable.
Exemple :
<?php$a = array(1, 2, array("a", "b", "c"));
var_dump($a);
?>
Affiche :
array(3) {[0]=>
int(1)
[1]=>
int(2)
[2]=>
array(3) {
[0]=>
string(1) "a"
[1]=>
string(1) "b"
[2]=>
string(1) "c"
}
}
vincent59
2438
Ah ! Je m’étais trompé. C’était node au lieu de node2. Du coup tout marche !
Merci beaucoup !
A bientôt.
mysteriousfea
126
Ah oui, c’est mieux avec les bonnes variables ;-)
vincent59
2438