L'enveloppant d'un div autour de chaque troisième élément dans une boucle foreach PHP
//set the array
$info = array(
'andy' => 'blue',
'andrew' => 'black',
'mark' => 'green',
'jane' => 'orange',
'simon' => 'red',
'joan' => 'pink',
'sue' => 'yellow',
'alan' => 'black')
$i = 1;
foreach($info as $key => $val){
<div class="holder">
<div class="name">
<?php echo $Name ?>
</div>
<div class="colour">
<?php echo $colour ?>
</div>
</div>
}
Ce dispalys chaque "titulaire" de la classe... mais ce que je suis désireux de faire est de conclure un conteneur à travers le "titulaire" de la classe et 3 "titulaire" dans chaque "conteneur".
par exemple:
<div class="container">
<div class="holder">
<div class="name">
<?php echo $Name ?>
</div>
<div class="colour">
<?php echo $colour ?>
</div>
</div>
<div class="holder">
<div class="name">
<?php echo $Name ?>
</div>
<div class="colour">
<?php echo $colour ?>
</div>
</div>
<div class="holder">
<div class="name">
<?php echo $Name ?>
</div>
<div class="colour">
<?php echo $colour ?>
</div>
</div>
</div>
Je ne peux pas savoir comment obtenir soit l'indice du tableau associatif, ou comment casser une boucle foreach une fois %3 == 0.
Toute suggestion serait génial!
-Ved
Si vous êtes réellement demander comment vous pouvez incrémenter le
php.net/array_chunk
double possible de affichage de plusieurs lignes d'un fichier, ne jamais répéter
Je peux incrémenter assez facile en mettant i++ dans le foreach. Je juste ne peux pas séparer $i lors de son % 3
Voir le lien Gordon a dans son commentaire. En fait, les deux liens. Cette fonction travaille facilement et ressemble, c'est ce que vous cherchez.
$i
variable pour chaque itération? Pas vraiment, n'est-ce pas?php.net/array_chunk
double possible de affichage de plusieurs lignes d'un fichier, ne jamais répéter
Je peux incrémenter assez facile en mettant i++ dans le foreach. Je juste ne peux pas séparer $i lors de son % 3
Voir le lien Gordon a dans son commentaire. En fait, les deux liens. Cette fonction travaille facilement et ressemble, c'est ce que vous cherchez.
OriginalL'auteur Ved | 2012-11-07
Vous devez vous connecter pour publier un commentaire.
Vous avez besoin d'avoir un compteur séparé variable:
ce code ne génère pas entièrement correct HTML. Pour la dernière itération d'une balise conteneur reste à être fermé. Savez-vous comment résoudre ce problème?
Avez-vous vu la dernière ligne? qui devrait fermer le récipient dans tous les cas (sauf quand
$info
est vide).OriginalL'auteur chiborg
Vous êtes à la recherche pour cela? php.net/array_chunk
Et, vous avez quelques erreur de syntaxe, il y
cela devrait être
de fermeture php pour démarrer la balise HTML
Cette solution est meilleure. Simplement et pro!
OriginalL'auteur LIGHT
Vous voulez faire quelque chose comme ça dans ce cas. Assurez-vous d'obtenir les variables droit.
Vérifier Prakash la réponse de la réponse. Il aimerait.
Je pense ici $i doit être initialisé à 0 non 1. En outre, il conserve une balise conteneur incomplet pour le dernier élément. Savez-vous comment résoudre ce problème?
OriginalL'auteur Martin
Vous pouvez incrémenter
$i
à l'intérieur de la boucle foreach, e.g:vous devez être l'ouverture de la div conteneur lors de l' ($i % 3 == 0) et à la fin quand ($i % 3 == 2). Il semble d'après votre commentaire ci-dessus que vous faites tous les deux à la même itération.
OriginalL'auteur Daniel Morris