Difference entre isset et if(isset()) [Résolu/Fermé]

Signaler
-
 meluos -
Bonjour,

je voudrais savoir quel difference il y a entre

if(isset($a))
{
     echo $a;
}


et

echo isset($a);


Merci...

5 réponses

Messages postés
424
Date d'inscription
samedi 1 décembre 2012
Statut
Membre
Dernière intervention
22 mai 2018
61
Bonsoir,
Le premier effectue un test isset (qui retourne oui ou non en booleen (true/false)) sur la présence de la variable $a.
Si isset retourne true, alors le contenu du if est executer et le echo affiche le contenu de la variable $a

Le deuxieme, vas afficher le resultat du isset donc tu verra s'afficher 1 (correspondant a true) si la variable existe et 0 si elle n'existe pas.
Messages postés
137
Date d'inscription
vendredi 20 décembre 2013
Statut
Membre
Dernière intervention
19 juin 2015
88
isset -- Détermine si une variable est définie et est différente de NULL.
echo = afficher le contenue de la variable
et if = si c'est donc une condition.
Donc :

if(isset($a))
{
     echo $a;
}

Veut dire si $a est différente de NULL afficher $a.

echo isset($a);

Afficher $a et isset va retourné FALSE comme valeur.

Alors qu'avec if il ne retournera rien vu qu'il n'exécutera pas echo =).
d'accord donc pour afficher la valeur de $a tout en testant son existance, je suis obligé de faire:

if(isset($a))
{
     echo $a;
}
Messages postés
137
Date d'inscription
vendredi 20 décembre 2013
Statut
Membre
Dernière intervention
19 juin 2015
88
voila tu peut même aller un peut plus loin

if(isset($a))
{
     echo $a;
}
else
{
echo "n'existe pas ";
}
hum,
je viens de voir que ça fonctionne aussi:

echo isset($a) ? $a:5;


sauf que si $a n'existe pas on lui colle la valeur 5. Ce qui revient à ecrire:

 if(isset($a))
{
     echo $a;
}
else
{
     $a = 5;
     echo $a;
}


Sauf que c'est plus court.
Messages postés
181
Date d'inscription
mardi 4 décembre 2012
Statut
Membre
Dernière intervention
10 juin 2014
17
C'est ce qu'on appelle des opérateurs ternaires : https://www.php.net/manual/fr/language.operators.comparison.php

Mais attention à ne pas utiliser ces opérateurs n'importe ou, la lisibilité du code peut être atterrée ;)
OK merci à tous