adhessa
-
Modifié le 24 juil. 2019 à 21:30
JeuDuTaquin
Messages postés251Date d'inscriptionmardi 4 juillet 2017StatutMembreDernière intervention31 mai 2023
-
22 juil. 2019 à 21:19
Bonjour,
Voilà je souhaite à partir d'une variable (par exemple $nbEtoile) ayant pour valeur un chiffre entier ( comme 4 par ex) renvoyer le nombre correspondant mais en symbole ( par ex "*")
soit pour __$nbEtoile = 4 __ avoir affiché sur l'écran__ $nbEtoile = ****
JeuDuTaquin
Messages postés251Date d'inscriptionmardi 4 juillet 2017StatutMembreDernière intervention31 mai 20237 Modifié le 21 juil. 2019 à 01:57
Salut,
Oui, effectivement il y a un problème car, visiblement vous attribuez (si vous êtes prof ou de la police, ajouter des "vous") la valeur 4 au début…
$nbEtoile = 4; \\\ici variable chaîne ou entière?
while ($nbEtoile <= 4) ;\\\ ici $nbEtoile = 4+n donc jamais 0 à 4. { $nbEtoile = "*"; \\\ $nbEtoile=4="*" !!! echo $nbEtoile; $nbEtoile++; \\\ $nbEtoile="5" ? }
Non, deux variables, une de comptage [nbEtoile], et une de variable string [chaîne:$CHRetoiles] !
Tu fais une boucle For … de 1 à nbEtoile…
Dans laquelle tu places une variable $CHRetoiles=$CHRetoiles+"*"; (vide au début)
Puis affichage de $CHRetoiles en sortie de boucle.
Je te laisse te familiariser avec la fonction de boucle "for"
et les initialisations des variables chaînes et des nombres décimaux.
Poste ton résultat, et n'oublies pas de cliquer "résolu" sur ton message principle.
Sinon, avec While, c'est aussi possible, mais avec un décomptage du "compteur étoile", et en testant s'il est positif avec un "nbEtoile--;"
et un $CHRetoiles=$CHRetoiles+"*"; à chaque boucle.
Nota: les codes margés, c'est plus beau…
Amuse-toi bien.
re en fait j'ai compris j'avais fait une petite erreur...
<?php
$nb_Star=1;
$chrStar = "*";
for ($nb_Star = 1; $nb_Star <= 4; $nb_Star++ ) \\\à l'incrémentation, j'ai mis la mauvaise variable...
{
echo $chrStar;
}
\\\et là j'ai autant d'étoiles que dans la condition...Merci encore !
JeuDuTaquin
Messages postés251Date d'inscriptionmardi 4 juillet 2017StatutMembreDernière intervention31 mai 20237
>
adhessa
22 juil. 2019 à 21:19
Oui, c'est presque ça!
Au visuel, tu as des étoiles, mais ce résultat n'est pas mémorisé.
Ici, tu ressorts une variable que tu pourras réutiliser après…
<?php
$nb_Star=3; \\\ nombre d'étoiles désiré. $chrStar = "*"; \\\ Caractère à ajouter à chaque boucle. $Resultat =""; \\\ variable pour stocker les étoiles.
for ($Loop_Star = 0; Loop_Star < $nb_Star; $Loop_Star++ ) \\\ Si le compteur < au nombre d'étoiles désiré. { $Resultat = $Resultat + $chrStar; } echo $Resultat;
Voilà.
N'oublie pas d'affecter une seul variable ($variable), pour une utilisation.
Toute variable utilisée, perd sa valeur. Il faut donc initialiser une variable à chaque fois que possible.
Merci pour ton aide ! je n'ai pas réussi à l'utiliser car je suis néophyte j'ai testé avec ce que j'avais appris mais ça m'a mis un message d'erreur...
Mais du coup ça m'a quand même fait avancer car j'ai trouvé ça grâce à votre soutient à tous les deux :
<?php
$nb_Star=1;
$chrStar = "*";
for ($nb_Star = 1; $nb_Star <= 4; $nb_Star++ )
{
echo $chrStar;
}
et le nombre d'étoiles apparaissant correspond à ce que je demande dans la partie condition...je pense que ça devrait être bon...
22 juil. 2019 à 12:29
<?php
$nbStar=1;
$chrStar = "*";
for ($nbStar = 1; $nbStar <= 4; $chrStar = $chrStar + "*")
{
echo $chrStar;
}
mais en affichage j'ai "*" et une infinité de "0"...
22 juil. 2019 à 13:09
<?php
$nb_Star=1;
$chrStar = "*";
for ($nb_Star = 1; $nb_Star <= 4; $nb_Star++ ) \\\à l'incrémentation, j'ai mis la mauvaise variable...
{
echo $chrStar;
}
\\\et là j'ai autant d'étoiles que dans la condition...Merci encore !
22 juil. 2019 à 21:19
Au visuel, tu as des étoiles, mais ce résultat n'est pas mémorisé.
Ici, tu ressorts une variable que tu pourras réutiliser après…
Voilà.
N'oublie pas d'affecter une seul variable ($variable), pour une utilisation.
Toute variable utilisée, perd sa valeur. Il faut donc initialiser une variable à chaque fois que possible.