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 :

[Tableaux] la difference entre isset et empty


Sujet :

Langage PHP

  1. #1
    Membre du Club Avatar de ghita269
    Inscrit en
    Octobre 2005
    Messages
    149
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 149
    Points : 62
    Points
    62
    Par défaut [Tableaux] la difference entre isset et empty
    s 'il vous quel est la difference entre empty et isset j'ai lu l'expliquantion mais d'apres ce que j'ai compris c est la meme chose pourquoi on les utilises les deux

  2. #2
    Membre averti
    Avatar de Strab
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    338
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 338
    Points : 330
    Points
    330
    Par défaut Re: la difference entre isset et empty
    Citation Envoyé par Manuel PHP
    empty détermine si une variable contient une valeur non nulle.

    isset détermine si une variable est affectée.
    affectée != non nulle : une variable affectée peut avoir une valeur nulle. Une variable affectée est une variable qui existe et a une valeur, quel qu'elle soit. Elle de valeur nulle si elle est égale à 0, "", "0", NULL, FALSE, si c'est un tableau vide. Si elle n'a pas de valeur, elle est aussi considérée comme de valeur nulle.

    Tu as compris (oui = ) ?

  3. #3
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 269
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 269
    Points : 8 568
    Points
    8 568
    Billets dans le blog
    17
    Par défaut
    empty( ) est assez trompeur, car une chaîne "0" est considérée comme vide. On voit souvent :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    if ( empty($_POST['nombre']) ) {
        // Vous devez saisir un nombre
        // Si je saisis "0" je me retrouve ici !
    } else {
        // Vous avez bien saisi un nombre
    }
    Perso j'utilise isset( ) pour savoir si une variable a été initialisée ou non ( => teste si un formulaire a été envoyé).
    Et empty( ) uniquement pour savoir si un tableau est vide ou non.
    Pour les autres tests je préfère me servir des opérateurs d'(in)égalité (stricts généralement), ex, tester les chaînes vides :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if ( $s !== '' ) { // Et pas empty( ) ...
    Ou les booléens :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if ( $ok !== FALSE ) { ...
    Tu peux voir ici ( http://fr2.php.net/manual/fr/types.comparisons.php ) un tableau récapitulatif des résultats de isset( ), empty( ) et d'autres expressions.

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

Discussions similaires

  1. Difference entre string.Empty et ""
    Par lasrevinu dans le forum C#
    Réponses: 9
    Dernier message: 23/04/2010, 07h13
  2. Différences entre Delphi et Visual Basic ?
    Par Anonymous dans le forum Débats sur le développement - Le Best Of
    Réponses: 75
    Dernier message: 30/03/2009, 21h09
  3. [Tableaux] isset() et !empty()
    Par lothar59 dans le forum Langage
    Réponses: 5
    Dernier message: 27/02/2007, 12h52
  4. différence entre !isset et empty.
    Par sam01 dans le forum Langage
    Réponses: 3
    Dernier message: 20/10/2006, 17h35
  5. Difference entre types d'Adresse IP
    Par freud dans le forum Développement
    Réponses: 3
    Dernier message: 02/03/2003, 03h06

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