首頁 後端開發 php教程 PHP中empty,isset,is_null用法與差異詳解

PHP中empty,isset,is_null用法與差異詳解

May 25, 2018 am 11:07 AM
empty isset null

最近在閱讀專案的原始碼,發現原始碼就對empty、isset和is_null函數(語言特性)亂用,有的地方很明顯的就挖坑了。不能正確的去理解這些東西,就很可能給後續的開發挖坑了。

1.empty用法

bool empty ( mixed var)
如果var 是非空或非零的值,則empty() 傳回FALSE 。換句話說,""、0、"0"、NULL、FALSE、array()、var $var; 以及沒有任何屬性的物件都會被視為空的,如果var 為空,則傳回TRUE

#2.isset()

isset -- 偵測變數是否設定

描述
bool isset ( mixed var [, mixed var [, ...]])
如果var 存在則回傳TRUE,否則回傳FALSE。
如果已經使用 unset() 釋放了一個變數之後,它將不再是 isset()。若使用 isset() 測試一個被設定成 NULL 的變量,將會傳回 FALSE。同時要注意的是一個 NULL 位元組("0")並不等同於 PHP 的 NULL 常數。

注意:如果變數不存在,isset()和empty()都不會報錯誤;is_null(),is_numeric()會報錯誤

如何區別如下數組中[0,'' ,null] 三個元素? (1)區別0:

$a = 0;
isset($a) && is_numeric($a) === true
登入後複製

(2)區別''

##

$a = '';
empty($a) && $a=== ''
登入後複製

(3)區別null

$a = null;
is_null($a);
登入後複製

另外在做表單提交的時候可能經常要偵測一個變數是否存在,假如​​$_REQUEST['status'] = 0 ;使用empty($_REQUEST['status'])回傳true,但是使用isset($_REQUEST['status']) 判斷就不是空

3. is_null():

bool is_null ( mixed $var )   (php.net官方文件的函數定義)

當參數符合下列三種情況時,is_null()會傳回TRUE,它的情況是FALSE
1、它被賦值為NULL
2、它還沒有賦值
3、它未定義,相當於unset(),將一個變數unset()後,不就是沒有定義嗎
讓讓我們來看一些例子:

$myvar = NULL;  
var_dump(is_null($myvar)); // TRUE 
$myvar1;      
var_dump(is_null($myvar1)); // TRUE Notice: Undefined variable 
$num = 520; 
unset($num); 
var_dump(is_null($num)); //TRUE Notice: Undefined variable 
var_dump(is_null($some_undefined_var)); //TRUE Notice: Undefined variable 
 
$myvar = 0; is_null($myvar);   // FALSE 
$myvar = FALSE; is_null($myvar); // FALSE 
$myvar = ''; is_null($myvar);  // FALSE
登入後複製


#以上就是本文的全部內容,希望對大家的學習有幫助。


相關推薦:

PHP isset()與empty()的使用差異

php中isset與empty的區別詳解

php效能最佳化:isset( )比strlen()更快

#

以上是PHP中empty,isset,is_null用法與差異詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

c語言中null和NULL的差別是什麼 c語言中null和NULL的差別是什麼 Sep 22, 2023 am 11:48 AM

c語言中null和NULL的差異是:null是C語言中的一個宏定義,通常用來表示一個空指針,可以用來初始化指針變量,或是在條件語句中判斷指針是否為空;NULL是C語言中的一個預先定義常數,通常用來表示一個空值,用來表示一個空的指標、空的指標數組或是空的結構體指標。

PHP判斷某個數組中是否存在指定的key PHP判斷某個數組中是否存在指定的key Mar 21, 2024 pm 09:21 PM

這篇文章將為大家詳細講解有關PHP判斷某個數組中是否存在指定的key,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章後可以有所收穫。 PHP判斷某個陣列中是否存在指定的key:在php中,判斷某個陣列中是否存在指定的key的方法有多種:1.使用isset()函數:isset($array["key"])此函數傳回布林值,如果指定的key存在,則傳回true,否則傳回false。 2.使用array_key_exists()函數:array_key_exists("key",$arr

undefined和null是什麼意思 undefined和null是什麼意思 Nov 20, 2023 pm 02:39 PM

在JavaScript 中,undefined和null都代表著「無」的概念:1、undefined 表示一個未初始化的變數或一個不存在的屬性,當宣告了一個變數但沒有對其賦值時,這個變數的值就是undefined ,當存取物件中不存在的屬性時,傳回的值也是undefined;2、null表示一個空的物件引用,在某些情況下,可以將物件的引用設為null,以便釋放其佔用的記憶體。

什麼時候用null和undefined 什麼時候用null和undefined Nov 13, 2023 pm 02:11 PM

null和undefined都表示缺少值或未定義的狀態,根據使用場景的不同,選擇使用null或undefined有以下一些指導原則:1、當需要明確指示一個變數為空或無效時,可以使用null;2、當一個變數已經宣告但尚未賦值時,會被預設為undefined;3、當需要檢查一個變數是否為空或未定義時,使用嚴格相等運算子「===」來判斷變數是否為null或undefined 。

null和undefined有什麼不同 null和undefined有什麼不同 Nov 08, 2023 pm 04:43 PM

null和undefined的差異在:1、語意意義;2、使用場景;3、與其它值的比較;4、與全域變數的關係;5、與函數參數的關係;6、可空性檢定;7、性能考慮;8、在JSON序列化中的表現;9、與類型的關係。詳細介紹:1、語意意義,null通常表示知道這個變數不會擁有任何有效的物件值,而undefined則通常表示變數未被賦值,或物件沒有此屬性;2、使用場景等等。

java中null的用法有哪些 java中null的用法有哪些 Mar 01, 2024 am 10:10 AM

用法:1、將引用類型的變數初始化為null,表示該變數目前不指向任何物件;2、將引用類型的變數設為null,可以釋放該變數所引用的物件的記憶體空間,幫助垃圾回收器回收該物件;3、使用null來檢查一個引用是否為空,可以透過判斷引用是否為null來避免NullPointerException異常的發生;4、在條件判斷中使用null,可以判斷某個引用是否為空。

PHP函數介紹—empty(): 檢查變數是否為空 PHP函數介紹—empty(): 檢查變數是否為空 Jul 25, 2023 am 10:23 AM

PHP函數介紹—empty():檢查變數是否為空在PHP程式設計中,常需要對變數進行判斷,判斷變數是否為空是常見的需求。而PHP內建的empty()函數就是用來檢查變數是否為空的。本文將介紹empty()函數的用法以及提供一些實際的程式碼範例。 empty()函數的用法非常簡單,它接受一個參數,並且傳回一個布林值。當參數的值為下列情況之一時,empty()函數

php 陣列怎麼去掉null php 陣列怎麼去掉null Dec 23, 2022 am 10:27 AM

php陣列去掉null的實作方法:1、使用「foreach( $arr as $k=>$v){...}」方法去掉陣列的空值;2、使用while語法結構去除空值;3、使用array_filter函數對陣列進行過濾,去掉空值即可。

See all articles