2011-03-02 19 views
11

¿Cuál es la diferencia entre if (! Variable) y if (isset ($ variable))?

Respuesta

18

Bueno, la respuesta es bastante simple. isset ($ var) devuelve si existe o no una variable y no es nula, donde! $ var te dice si esa variable es verdadera, o cualquier cosa que se evalúe como verdadera (como una cadena). Además, al utilizar! $ Var aparecerá un aviso de que está utilizando una variable indefinida, mientras que isset no lo hará.

Eso sí: son dos cosas diferentes: '!'

<?php 
var_dump(isset($foo)); // false. 
var_dump(!$foo); // true, but with a warning. 

$foo = false; 
var_dump(isset($foo)); // true 
var_dump(!$foo); // true. 
3

Si no se establece una variable, recibirá una advertencia cuando use if (! Variable).

+3

Y este tipo de advertencia debe alentarse ... "declarar" sus malditas variables. –

0

Son dos estados diferentes

  1. en la primera comprobar si una variable es falsa por lo tanto el
  2. Aquí puede verificar si una variable está realmente configurada en algún valor distinto de null.
Cuestiones relacionadas