Les isset



  • Salut, a tous je vient ici pour plus d'eclaisisement sur la fonction en php "isset()" parceque j'ai appris sur SDZ mais il ne donne pas plus d'infos sur sa ='(.

    A quoi sert cette fonction ?
    Pourquoi on l'ecrit des fois "!isset()" ?
    Comment bien l'utiliser ?

    merci d'avance =)



  • la focntion isset te retourne un booléen true ou false en fonction du fait si la variable que l'on test isset($variable) possède une valeur défini ou pas.

    Le isset() s'utilise le plus souvent dans des test if & cie. du style

    if (isset($_POST["tralala"])
    {
     ....
    }
    
    

    le préfixe "!" devant la fonction isset() c'est pour inverser le résultat.
    Fait !isset() revient à recevoir une réponse positive si la variable testé n'a pas de valeur défini.

    Je sais pas si j'ia bien expliqué du coup xDD fin tu me dira.



  • Cela me semble clair ^^

    Pour les infos sur les différentes fonctions php, voici un site plus qu'intéressant :

    http://fr.php.net/manual/fr/



  • le préfixe "!" devant la fonction isset() c'est pour inverser le résultat.
    Fait !isset() revient à recevoir une réponse positive si la variable testé n'a pas de valeur défini.

    Pas tout a fait :D

    le "!" indique ce que l'on appel dans d'autre langage le "not", ce qui correspond a l'inverse effectivement.

    Cela dit:

    if (!$var)

    fonctionne aussi, pour peu que la variable soit a false ou inexistante :)

    Le "!" peu s'appliquer a n'importe quel fonction booléen:

    if (!empty)
    if (!function_exists)
    if (!file_exists)

    etc...

    Bref, c'est pratique :D

    En plus claire, sa revient a faire
    if (isset($var) === false)



  • ouais voila :) merci pour ces précisions plus savantes phenix



  • isset ne renvoie false dans deux cas.
    Si $var est égal à null et si $var n'a tout simplement pas été défini, ni dans le code, ni dans les données du script (POST et GET). Ainsi:

    <?php
    	echo isset($v); // False, car $v n'est pas défini
    
    	$v = null;
    	echo isset($v); // False, car $v===null
    
    	$v = true;
    	echo isset($v); // True, car $v est défini et $v!==null
    
    	$v = false;
    	echo isset($v); // True, car $v est défini et $v!==null
    
    	$v = 42;
    	echo isset($v); // True, car $v est défini et $v!==null
    ?>
    

    if (!$var)

    fonctionne aussi, pour peu que la variable soit a false ou inexistante

    Le truc c'est que c'est une erreur de programmation :)
    Teste le code suivant:

    <?php
    	error_reporting(E_ALL);
    	$r = !$v;
    ?>
    ```C'est pour ça qu'il faut théoriquement tout le temps utiliser isset.


  • en bref la fontion isset dans ce code :

    <?php
    $v = "haha";
    if(isset($v))
    {
    echo "Vrai"
    }
    
    else
    {
    echo "Faux"
    }
    
    

    Sa dis si $v est vrais donc qu'il contien quelque chose on ecrit "Vrai" mais si elle ne contien rien (null) on dis faux ?

    En bref isset sert a vérifier qu'une variable contien quelque chose où pas ?

    Y a t'il des fonction comme isset ?
    Ces fonctions ces quoi ?
    empty
    function_exists
    file_exists

    PS : désoler de vous embêter c'est juste que je veut savoir des trucs compliquer pour faire des trucs compliquer, si sa vous embête passer moi le lien d'un manuel en français qui dis sa sert a quoi ces variable et d'autres que je ne connais pas parceque sur le siteduzero c'est juste les bases qui nous donne ^^'



  • @Game-War:

    en bref la fontion isset dans ce code :

    <?php
    $v = "haha";
    if(isset($v))
    {
    echo "Vrai"
    }
    
    else
    {
    echo "Faux"
    }
    
    

    Sa dis si $v est vrais donc qu'il contien quelque chose on ecrit "Vrai" mais si elle ne contien rien (null) on dis faux ?

    isset n'est utile que si tu veut savoir si la variable est définie. Or, dans ton code, tu sais qu'elle est définie, puisque tu le fait à la ligne 2.
    Par ailleurs, avec ton code, si $v est vide mais définie ($v="";, par exemple), il écrira quand même vrai. Le code exact serait donc:

    <?php
    
    include 'v.php'; // v.php est un fichier dont on ignore le contenu, donc on ne sait pas si $v est définie ou non
    
    if(isset($v) and $v) // On vérifie que $v est défini, puis qu'elle ne soit pas vide
    {
    echo "Vrai"
    }
    
    else
    {
    echo "Faux"
    }
    
    

    En fait, de façon générale, isset n'est utilisée que par les développeurs souhaitant coder sans faire d'erreurs, même mineures. Les erreurs basées sur la non-existance de variable ne sont même pas affichées par défaut, donc dans la majorité des cas le code de phenix marche.
    Question de style, donc ^^



  • Ces fonctions ces quoi ?
    empty
    function_exists
    file_exists 
    

    Bha regarde:

    http://www.php.net/empty
    http://www.php.net/function_exists
    http://www.php.net/file_exists

    Le manuel est très complet et simple a comprendre même pour un débutant :D



  • empty c'est comme isset sauf que quand il y a 0 par exemple ben sa affiche quand même ce qu'il y a dans un if ^^ merci a tous



  • ouais après si tu veux pas toucher à du contenue de variable ya le exist :)



  • @Game-War:

    empty c'est comme isset sauf que quand il y a 0 par exemple ben sa affiche quand même ce qu'il y a dans un if ^^ merci a tous

    isset test si une variable est définie ou non
    empy test si une variable est indéfinie OU qu'elle est egale à 0, "" ou null.

    <?php
    
    echo isset($v); // false $v non définie
    echo empty($v); // true $v est non définie
    
    $v = "";		// pareil pour $v = null; et $v = 0
    echo isset($v); // true $v définie
    echo empty($v);	// true $v est vide
    
    $v = "test";	
    echo isset($v); // true $v définie
    echo empty($v);	// false $v définie et non vide
    
    ?>
    

Log in to reply