萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> php編程 >> php 判斷變量為空詳解介紹

php 判斷變量為空詳解介紹

在php中判斷變量為空我們有很多種方法,php為我們提供了empty,isset,var == null,is_null等等函數來進行變量判斷,下面我來給大家分享這些方法的使用方法。

empty() 與 isset() 的一個簡單比較。

 代碼如下 復制代碼

<?php
        $var = 0; // 結果為 true,因為 $var 為空
        // 結果為 true,因為 $var =0
        if (empty($var)) { echo '$var is either 0 or not set at all'; }
        //結果為false, 因為$var已經設置了
        if (!isset($var)) { echo '$var is not set at all'; } 
?>  

上面的empty與isset判斷為沒有任何屬性的對象都將被認為是空.

 var == null

功能:判斷變量是否為“空”
說明:值為 0 或 false 或 空字符串”" 或 null的變量、空數組、都將判斷為 null
注意:與empty的顯著不同就是:變量未初始化時 var == null 將會報錯。

 

 代碼如下 復制代碼

$a = 0;
$b = array();
if ($a == null) echo '$a 為空' . "";
if ($b == null) echo '$b 為空' . "";
if ($c == null) echo '$b 為空' . "";
// 顯示結果為
// $a 為空
// $b 為空

// Undefined variable: c


is_null

 代碼如下 復制代碼

$a = null;
$b = false;
if (is_null($a)) echo '$a 為NULL' . "";
if (is_null($b)) echo '$b 為NULL' . "";
if (is_null($c)) echo '$c 為NULL' . "";
// 顯示結果為
// $a 為NULL

// Undefined variable: c

變量==0 或 變量===0

 代碼如下 復制代碼

$a ===0  $a ===""
$a ==0 等於 $a ==""

在php url傳參數時

php頁面的 URL 尾部參數出現 id=0 時(比如:test.php?id=0),試比較:

 代碼如下 復制代碼

if(empty($id)) $id=1; // 若 id=0 ,id 也會為1
if(!isset($id)) $id=1; // 若 id=0 ,id 不會為1 
可分開運行以下代碼檢測上述推斷:

if(empty($id)) $id=1;
   print $id; // 得到 1 
if(!isset($id)) $id=1;
   print $id; //得到 0 


總結

在php中NULL與空是兩種不同的概念,

isset  主要用來判斷變量是否被初始化過
empty  可以將值為 “假”、“空”、“0”、“NULL”、“未初始化” 的變量都判斷為TRUE
is_null  僅把值為 “NULL” 的變量判斷為TRUE
var == null  把值為 “假”、“空”、“0”、“NULL” 的變量都判斷為TRUE
var === null  僅把值為 “NULL” 的變量判斷為TRUE

其它一些可能用到php變量判斷的函數

isset($ var) : //變量是不是已經聲明

empty($ var): //變量是不是為空

defined($ var): //常量是不是已經定義 define()

is_array($ var): //檢驗測定變量是不是是數組

is_null($ var): //檢驗測定變量是不是為 null

copyright © 萬盛學電腦網 all rights reserved