Fonction rand() et boucle while

beaverinc
Invité n'ayant pas de compte PHPfrance

21 mars 2007, 02:29

Voilà mon probleme, je veux que ma variable (i) décrémentate avec la fonction rand(). Vous allez mieux comprendre avec mon code (qui ne marche pas).
<?
$i = 25;
while ($i >= 0) {
$r = rand(2,5);
echo "$i-$r";
echo "<br>";
}
?>
Ce code remplace toujours la valeur (i) par 25 donc il est impossible de se rendre à 0. Voilà, se que je cherche en faite, je me demmande comment faire un compteur qui prend toujours la variable après l'oppération.

Merci d'avance.

Mammouth du PHP | 1353 Messages

21 mars 2007, 02:53

Bonjour,

le probleme est que tu affiches $i-$r mais tu ne donnes pas a $i la nouvelle valeur....

Essaye plutot dans ce style :
<?php
$i = 25; 
while ($i >= 0) { 
$r = rand(2,5); 
$i=$i-$r; 
echo $i."<br/>"; 
} 
?> 
Ainsi tu donnes a $i la nouvelle valeur puis tu l'affiches ensuite...
Tell me and I forget. Teach me and I remember. Involve me and I learn.

Eléphanteau du PHP | 49 Messages

21 mars 2007, 06:50

Et même (puisque le but semble être d'afficher les opérations) :
<?php
$i = 25; 
while ($i >= 0) { 
	$r = rand(2,5); 
	echo $i."-".$r."=";
	$i -= $r;
	echo $i."<br/>"; 
} 
?>
(pour le -=, voir ceci)

beaverinc
Invité n'ayant pas de compte PHPfrance

22 mars 2007, 06:24

Merci, ça donne se que je voulais. Je vais en profiter pour poser une autre petite question, comment faitons si je voudrais les valeurs n'aparaisse tous d'un coup. Qu'il faut cliquer sur un bouton valide pour faire apparaitre l'autre valeur.

exemple :
25 ( je clique sur un bouton )
22 ( je clique sur un bouton )
19 ( je clique sur un bouton )
...

Eléphant du PHP | 445 Messages

22 mars 2007, 08:27

Dans ce cas, tourne toi vers le Javascript, avec l'évènement onClick, tu devrais pouvoir faire ça.
LLDC
Ulti

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

22 mars 2007, 09:19

Tu peux aussi à chaque appel du script ne générer qu'une valeur que tu enregistres dans une session et lister toutes les valeurs stockées lors de l'affichage :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...