Lire un chiffre avec fgets($my_file)
Résolu
ordiminnie
Messages postés
220
Statut
Membre
-
ordiminnie Messages postés 220 Statut Membre -
ordiminnie Messages postés 220 Statut Membre -
Bonjour,
Je m'arrache les cheveux sur une bête conversion string > int.
Oui, j'ai essayé le fameux (int) et aussi intval() mais aucun des deux ne marche, et je pense que ça vient du fait que mon chiffre provient d'un fichier texte, lu avec fgets(), car quand j'essaye mon code avec un "vrai" string, il fonctionne.
voici le code, ce sera plus clair:
Mon problème: on ne rentre jamais dans le if!
J'ai essayé cette astuce:
Ca fonctionne mais je suis quand même bloquée après, car dans mon IF, je boucle sur le nombre d'étoile, et là c'est pas un cast vers un booléen qui va m'aider!!
Je précise que si je remplace :
...par :
...tout fonctionne bien!
Merci de votre aide!
Il faut avoir des rêves suffisamment grands pour ne pas les perdre de vue quand on les poursuit. Oscar Wilde
Je m'arrache les cheveux sur une bête conversion string > int.
Oui, j'ai essayé le fameux (int) et aussi intval() mais aucun des deux ne marche, et je pense que ça vient du fait que mon chiffre provient d'un fichier texte, lu avec fgets(), car quand j'essaye mon code avec un "vrai" string, il fonctionne.
voici le code, ce sera plus clair:
// 1/ on ouvre le fichier (il contient uniquement le texte suivant : 5) $my_file = fopen(dirname( __FILE__ ) . '/evenement/star.txt', 'r'); // 2 : lit le nombre d'étoiles $star_count = fgets($my_file); // 3: test echo $star_count; // affiche bien 5 // 4: vérifie qu'il y a au moins une étoile if ((int)$star_count > 0){ echo 'au moins une étoile'; }
Mon problème: on ne rentre jamais dans le if!
J'ai essayé cette astuce:
if ((bool)$star_count == true){ echo 'au moins une étoile'; }
Ca fonctionne mais je suis quand même bloquée après, car dans mon IF, je boucle sur le nombre d'étoile, et là c'est pas un cast vers un booléen qui va m'aider!!
Je précise que si je remplace :
$star_count = fgets($my_file);
...par :
$star_count = "5";
...tout fonctionne bien!
Merci de votre aide!
Il faut avoir des rêves suffisamment grands pour ne pas les perdre de vue quand on les poursuit. Oscar Wilde
A voir également:
- Lire un chiffre avec fgets($my_file)
- Lire le coran en français pdf - Télécharger - Histoire & Religion
- Lire un fichier epub - Guide
- Clavier iphone chiffre et lettre - Guide
- Excel trier par ordre croissant chiffre - Guide
- Comment lire un message supprimé sur whatsapp - Guide
4 réponses
Bonjour
À mon avis, ton $star_count contient un caractère de fin de ligne (que tu ne vois pas) en plus du 5 (que tu vois)
Essaye :
À mon avis, ton $star_count contient un caractère de fin de ligne (que tu ne vois pas) en plus du 5 (que tu vois)
Essaye :
$star_count = trim(fgets($my_file));