IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Effectuer une instruction PHP une fois sur 10


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif

    Homme Profil pro
    sans
    Inscrit en
    Octobre 2019
    Messages
    205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ariège (Midi Pyrénées)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Octobre 2019
    Messages : 205
    Par défaut Effectuer une instruction PHP une fois sur 10
    Salut

    Voilà, tout est dans la question, mais une chose me questionne aussi : "Une fois sur 10", est-ce que c'est la même chose que "Toutes les 10 fois" ?
    Si oui, je vois comment faire, en comptant jusqu'à 10 et effectuant l'instruction quand on arrive à 10.
    Est-ce que je suis sur la bonne voie ?

    L'instruction est déjà dans une boucle For qui compte de 1 à un chiffre aleatoire entre 2 et 4 inclus.

    Parce que entre 2 et 4 fois je dois executer : $tirage=1, mais une fois sur 10 je dois inverser la valeur. alors je sais pas comment faire.

    Dans ce code j'ai mis une instruction INT qui est fausse, c'est juste pour me repérer à ce que je dois faire, je la remplacerais par la bonne après

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    $repete=rand(2,4);// Génération du nombre aléatoire de répétition (entre 2 et 4 inclus).
    $changeur=0;
    for ($i=1;$i<=$repete;++$i)
    {
    	$nombre=rand(1,99);
    	if(int($nombre/2)*2==$nombre)
    	{
    	$tirage=1; 
    	}else $tirage=0;
     
    	++$changeur;
    	if($changeur>=10)
    	{
    		$changeur=0;
    		if($tirage==0)
                    {
                       $tirage=1;
                     }else $tirage=0;
    	}
     
    }
    une fois sur 10 je dois inverser le resultat de tirage.

    Ce qui me tracasse c'est aussi que le maxi de répétition du For c'est 4 alors que mon tirage je voudrais lui donner une chance sur 10 de changer.

    EDIT : Je place le début du FOR que j'avais oublié ici !!!

    EDIT 2 : J'ai rajouté le compteur jusqu'à 10.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Tu peux utiliser "modulo 10".

    Je te laisse chercher...

  3. #3
    Membre très actif

    Homme Profil pro
    sans
    Inscrit en
    Octobre 2019
    Messages
    205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ariège (Midi Pyrénées)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Octobre 2019
    Messages : 205
    Par défaut
    j'ai oublié de dire que je pense lancer le code présenté ci-dessus par un bouton.

    Ah merci beaucoup, on s'est croisé là sur l'edition du post :/

    je vais me renseigner sur modulo

    EDIT : Je me suis renseigné sur modulo, ça donne le reste de division de deux entiers, j'ai appris une bonne chose, merci, mais pour mon sujet je ne vois toujours pas si je suis sur la bonne voie :/

    Je vois pas comment utiliser modulo pour mon probleme d'inversion du tirage :/

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    1- un compteur :
    2- on l'incrémente à chaque "tour".
    3- L'ASTUCE du modulo (ici de 10) : TOUS les multiples de 10 renvoient 0
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if( $count%10 == 0 ) // TOUS les multiples de 10 renvoient 0 -> donc true 1 fois sur 10
    {
       // ... on inverse
    }

  5. #5
    Membre très actif

    Homme Profil pro
    sans
    Inscrit en
    Octobre 2019
    Messages
    205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ariège (Midi Pyrénées)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Octobre 2019
    Messages : 205
    Par défaut
    Woaaa !

    Super cette astuce !!!
    je vais souvent l'utiliser, c'est trop bien
    Merci beaucoup de m'avoir appris !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Effectuer une recherche sur FTP avec PHP Designer
    Par spip93 dans le forum Outils
    Réponses: 2
    Dernier message: 02/06/2016, 15h15
  2. [MySQL] changer de style une fois sur 2 après requête
    Par mussara dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 14/12/2005, 22h55
  3. le sous formulaire s'affiche une fois sur deux
    Par Math dans le forum Access
    Réponses: 16
    Dernier message: 10/10/2005, 16h25
  4. Réponses: 1
    Dernier message: 28/03/2005, 13h33
  5. Pb : malloc qui marche une fois sur deux .... ?
    Par guillaume_pfr dans le forum C
    Réponses: 14
    Dernier message: 21/07/2003, 10h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo