2016-08-02 1 views
-2

Quelle est la différence et quelle est la meilleure?Comment utiliser correctement la fonction isset dans php?

Celui-ci:

if(isset($_POST['name'])){ 

} 

ou celui-ci:

$name = $_POST['name']; 
if(isset($name)){ 

} 

Je veux savoir s'il y a des différences entre les deux codes, et qui est plus efficace d'utiliser. Merci d'avance!

+0

la première est correcte, celle-ci provoquera une erreur si elle n'est pas défini dans le tableau POST – RamRaider

+0

Merci @RamRaider. Maintenant je sais. Merci beaucoup. – Jjjjjjjjjj

Répondre

3

Salut Le premier est juste

if(isset($_POST['name'])){ 

} 

Cela vérifiera $_POST['name'] est réglé ou non.

mais

$name = $_POST['name']; 
if(isset($name)){ 

} 

ce vérifieront $name est réglé ou non. et il ira à l'intérieur si parce que si $_POST['name'] a de la valeur ou non, vous avez déclaré $name. Cela donnera donc un mauvais résultat.

+0

Merci beaucoup! – Jjjjjjjjjj

+0

@Jjjjjjjjjj bienvenue :) – user1234

+1

@Jjjjjjjjjj si une réponse à votre problème, n'oubliez pas de upvote et sélectionnez-le. – BeetleJuice

0

Ces deux codes feront de même. Ils vérifieront tous deux si une variable est définie.

Dans les deux cas, vous allez vérifier si $_POST['name'] est activé. Si vous recherchez l'efficacité, vous devez utiliser la première, car la création de nouvelles variables et la gestion des données utilisent toujours plus de ressources.

+0

non ils ne vont pas, ce dernier renverra une erreur si la variable n'est pas définie. –

+0

Bien sûr, mais ce n'est pas le point de sa question. Il veut savoir quelle est la différence entre ces deux conditions et laquelle est la plus efficace. Et en fait, oui, ils feront la même chose: vérifiez si $ _POST ['name'] est défini. – tomfl

+0

vous avez évidemment une définition différente de "même" que le reste de l'univers. –

2

mieux encore:

$name = isset($_POST['name']) ? $_POST['name'] : 'empty';