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 :

is_nan ne fonctionne visiblement pas


Sujet :

Langage PHP

  1. #1
    Membre averti Avatar de nicoaix
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2004
    Messages
    571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2004
    Messages : 571
    Points : 362
    Points
    362
    Par défaut is_nan ne fonctionne visiblement pas
    Bonjour,
    Je voudrais utiliser la fonction is_nan pour vérifier si une variable est un nombre ou pas. Après plusieurs soucis, j'ai fait la page suivante afin de tester cette fonction de php:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <?php
    $chp7 = 'a';
    if(is_nan($chp7) ){
    	$aff = $chp7." n'est pas un nombre";
    }else{
    	$aff = $chp7." est un nombre";
    }
     
    echo" aff : '".$aff."'";
     
    ?>
    Ce test renvoie invariablement "{la valeur de $chp7} est un nombre".
    Or d'après mes vagues souvenirs de l'école primaire, "a" n'est pas un nombre...

    Est-ce que la fonction is_nan est en beta test dans php?Est-ce qu'elle ne fonctionne pas du tout? Est-ce mon test qui déconne quelque part?

    Merci.

    PS: pour information j'utilise la version 5.1.1 de php sur un serveur web apache 1.3.33 sous windows.

  2. #2
    Membre expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Points : 3 212
    Points
    3 212
    Par défaut
    Je pense que dans ton cas il faut que tu utilises is_numeric() parce que is_nan() attend un double en paramètre et je pense que ca sert dans des cas particuliers (l'exemple de la doc n'est pas is_nan("ma chaine") mais un cas particulier sur acos(1.01) qui a une valeur "indéfinie").

  3. #3
    Membre averti Avatar de nicoaix
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2004
    Messages
    571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2004
    Messages : 571
    Points : 362
    Points
    362
    Par défaut
    En effet, is_numeric fonctionne correctement.
    J'ai utilisé une autre méthode, en attendant:
    Ce que je voulais vérifier c'est que ma variable (qui contient toujours exactement 4 caractères) ne contienne que des chiffres (exemple : 0002, ou 0249). C'est pour cela que j'ai utilisé la fonction ereg:

    if(ereg("[0-9]{4}",$chp7) ){

    ...

    }

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

Discussions similaires

  1. [Conception] INSERT fonctionne a moitié, UPDATE Fonctionne, comprends pas?
    Par guillaumeIOB dans le forum PHP & Base de données
    Réponses: 15
    Dernier message: 06/09/2006, 17h22
  2. Réponses: 4
    Dernier message: 29/05/2006, 05h48
  3. Mon script ne fonctionne tjrs pas !!
    Par adlich dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 29/04/2006, 00h43
  4. [ JAD ] Jadclipse fonctionne ou pas ?
    Par lr dans le forum Eclipse Java
    Réponses: 5
    Dernier message: 08/02/2005, 12h17
  5. Menu CSS avec bordures - fonctionne firefox, pas ie
    Par Romalafrite dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 21/11/2004, 15h40

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