[RESOLU] Afficher variable que si différente de la précédente

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Afficher variable que si différente de la précédente

Re: Afficher variable que si différente de la précédente

par @rthur » 21 nov. 2022, 20:48

En fait, à chaque fois que tu appelles $i++ ça incrémente la variable $i donc ça ne peut pas marcher comme cela.

La solution est de créer une variable vide avant ta boucle, par exemple $daydisplay_precedent
Et à chaque passage dans ta boucle :
1) tu testes si la valeur courante de $daydisplay est égale à la valeur précédente, si c'est le cas tu n'affiches rien, sinon, tu l'affiche
2) tu mets dans la variable $daydisplay_precedente la valeur courante de $daydisplay

Afficher variable que si différente de la précédente

par pleiode » 21 nov. 2022, 20:19

Hello !

Je m'entraîne sur une appli de meteo, voilà mon problème.

J'appelle tous les jours de mes prévisions, ce qui m'affiche bien les jours de toutes mes prévisions:
for ($i = 0; $i < 48; $i += 1) {
    $daydisplay[$i] = date("l", $json_apiweather->hourly[$i]->dt);
}
Maintenant j'aimerais afficher dans mon interface web que les jours qui ont changé, donc j'ai écrit ça:
for ($i = 0; $i < 48;) {
    if ($daydisplay[$i++] == $daydisplay[$i]) {
        $daydisplay[$i] =  null;
    }
}
En gros je dis que si le $daydisplay suivant et égal au $daydisplay précédent, alors il est égal à "null" et donc ne l'affiche pas.

Saut que ça ne fonctionne pas trop... Il affiche le même jour quand même toutes les 2 prévisions.

Merci d'avance pour votre aide :)