2011-03-02 72 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。
相關問題