Tu boucles une seule fois en enregistrant dans des variables différentes les lignes ou la variable est égale à zero et celle où la variable est différent de zéro. Ensuite il ne te reste plus qu'a afficher une variable derriere l'autre.
Par contre, tu vas devoir modifier les fonctions haut_annonce(), bas_annonce() et affichage_annonce() pour qu'elle renvoie une variable au lieu de faire un echo (enfin si j'ai bien compris ce que faisait ces fonctions.
En clair ça devrait donner un truc du genre,
Code :
- for($nb_promos_affiche=0;$nb_promos_affiche<sizeof($affichage_de_la_promo_id);$nb_promos_affiche++)
- {
- if($affichage_de_la_promo_ville[$nb_promos_affiche]!='0')
- {
- $var1 .= haut_annonce();
- $var1 .= $affichage_de_la_promo_ville[$nb_promos_affiche];
- $var1 .= bas_annonce();
- }
- else
- $var2 .= affichage_annonce();
- }
- echo $var1.$var2;
|
Si cette solution ne te convient pas tu peux aussi regarder du côté des fonctions qui trie les tableaux. Pour mettre les les valeur = 0 à la fin du tableau, ce qui te permettrait dans ce cas là de ne pas avoir à stocker le résultat dans des variables.