Quelle est la différence entre ces quatre relevés PHP?
if (isset($data)) { if (!empty($data)) { if ($data != '') { if ($data) {
4 Réponses :
vérifier le manuel PHP: http://www.php.net/manual /en/types.comparisons.php Comme vous pouvez le voir, si (! vide ($ x)) code> est égal à
Si ($ x) code> et
si (! is_null ($ x)) code> est égal à
si ($ x)) code>. Aussi loin que si
$ data! = '' ' Code> va, il est
true code> si
$ data code> n'est pas
null code>,
'' code>,
false code> ou
0 code> (comparaison desserré). P> P>
Ils ne sont pas les mêmes. P>
true si la variable est définie. La variable peut être réglée sur vide et cela serait vrai. P> li>
true si la variable est définie si la variable ne correspond pas à une chaîne vide, si la variable n'est pas définie sa chaîne vide. P> li>
Si la variable se contracte à true, si la variable n'est pas définie, elle coerce sur False. P> Li>
ol> isset code>. p> li>
if ($data) {
Le manuel le met comme ceci: vide () code > Est-ce le contraire de
(booléen) var code>, sauf qu'aucun avertissement n'est généré lorsque la variable n'est pas définie. B> Voir aussi Cette réponse .
Si (Isset ($ données)) - détermine si une variable est définie (n'a pas parié Si (! vide ($ data)) - est une vérification de type agnostique pour vide si $ données était '', 0, false ou null, il retournerait vrai. P>
si ($ data! = '') {Ceci est un type de chaîne de sécurité de vérifier si $ données ne sont pas égales à une chaîne vide p>
Si ($ données) {Ceci est une recherche de vrai ou de faux (AKA: 0 ou 1) P> 'nonset ()' code> et n'est pas
null p>. p>.
Si ($ données) {Ceci est une recherche de vrai ou de faux (aka: 0 ou 1) code> <- pas tout à fait correct. Ce sera vrai si
$ données code> contient quelque chose qui ne résout pas false (essentiellement les mêmes choses que
! Vide ($ données) code>)