2011-03-02 87 views
11

if(!Variable)和if(isset($ variable))有什么区别?

回答

18

那么,答案很简单。 isset($ var)返回一个变量是否存在并且不是null,其中!$ var告诉你该变量是否为真或者任何计算结果为true的变量(如字符串)。另外,使用!$ var会输出一个通知,说明您使用的是未定义的变量,而isset不会这样做。

提醒你:他们是两个不同的东西:“!”

<?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

如果未设置变量,那么在使用if(!Variable)时将会发出警告。

+3

这种警告应该鼓励...“宣布”你的该死的变数。 – 2011-03-02 08:20:46

0

这是两个不同的语句

  1. 首先你检查,如果一个变量是假的,因此
  2. 这里你检查一个变量是否被设置为某个值,然后是null。
相关问题