摘要:定義先來看下兩個函數的手冊檢查一個變量是否為空判斷一個變量是否被認為是空的。當一個變量并不存在,或者它的值等同于,那么它會被認為不存在。如果變量不存在的話,并不會產生警告。檢測變量是否已設置并且非檢測變量是否設置,并且不是。
導語
老生常談的話題,之所以用這兩個函數做對比,是因為常用來判斷變量是否為空,但是它們有些不同,下面進行下對比。
定義先來看下兩個函數的手冊
emptyempty — 檢查一個變量是否為空issetbool empty ( mixed $var )
判斷一個變量是否被認為是空的。當一個變量并不存在,或者它的值等同于FALSE,那么它會被認為不存在。如果變量不存在的話,empty()并不會產生警告。
isset — 檢測變量是否已設置并且非 NULLbool isset ( mixed $var , [mixed $... ] )
檢測變量是否設置,并且不是 NULL。
從手冊中可以看出兩個函數的重點,empty 的重點是否為空,isset 的重點是否已設置并且非 NULL 。
對比以下羅列幾種可能出現的空值,使用兩個函數判斷變量是否為空,對比一下返回值是否符合期待(注:isset 返回 false 等同于 empty 返回 true)。
變量值 | empty | isset | 是否相同 |
---|---|---|---|
false | bool(true) | bool(true) | 不相同 |
null | bool(true) | bool(false) | 相同 |
"" | bool(true) | bool(true) | 不相同 |
"0" | bool(true) | bool(true) | 不相同 |
0 | bool(true) | bool(true) | 不相同 |
array() | bool(true) | bool(true) | 不相同 |
未定義 | bool(true) | bool(false) | 相同 |
由上表可以看出,empty 認為所有值都是空;而 isset 除了 null 和未定義,都認為已設置并且非 NULL。了解了兩個函數的不同點,在寫代碼的時候根據需求進行選擇。
參考資料:empty、isset。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/30064.html
摘要:如果還有人問你兩者區別,馬上甩出這種圖有興趣可以往下閱讀,官方手冊給出的例子手冊這是一張將區別的表格,從表格中我們可以發現返回值等同返回值等同。 簡單談一下isset和empty的區別? 如果你是在面試,碰巧面試官提了這個問題。你可以這樣回答: 如果變量值為0、空字符串、空數組等等,empty認為它是空的,而isset認為它不是空的。 如果變量不存在,isset和empty都認為它是...
摘要:從這個函數最后一行可以看出,最終執行的還是根據不同的用法會使用不同的處理此處以為例。如下總結效率高于之后有左右的提升有將近的提升。 1、概述 經常使用isset判斷變量或數組中的鍵是否存在, 但是數組中可以使用array_key_exists這個函數, 那么這兩個誰最優呢? 官方文檔對兩者的定義 - 分類 描述 文檔 isset 語言構造器 檢測變量是否已設置并且非 NULL...
摘要:函數使用格式判斷變量是否為空。對于,如果變量被如的函數設為,則函數會返回。,到分支,,返回數組元素的數量,為空,因此為,,,因此返回。 近日被問到PHP中empty和isset函數時怎么判斷變量的,剛開始我是一臉懵逼的,因為我自己也只是一知半解,為了弄懂其真正的原理,趕緊翻開源碼研究研究。經過分析可發現兩個函數調用的都是同一個函數,因此本文將對兩個函數一起分析。 我在github有對P...
摘要:用法如果是非空或非零的值,則返回。如果已經使用釋放了一個變量之后,它將不再是。若使用測試一個被設置成的變量,將返回。同時要注意的是一個字節并不等同于的常數。 1.empty用法bool empty ( mixed var)如果 var 是非空或非零的值,則 empty() 返回 FALSE。換句話說,、0、0、NULL、FALSE、array()、var $var; 以及沒有任何屬性的...
摘要:的函數判斷值為否為空格式功能檢查一個變量是否為空返回值若變量不存在則返回若變量存在且其值為以及沒有任何屬性的對象,則返回若變量存在且值不為以及沒有任何屬性的對象,則返回版本更多說明的返回值,但不會因為變量未定義而產生警告信息。 作者:PHP學習網 出處:https://www.viphper.com/?p=1236 本文版權歸作者,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面...
閱讀 732·2021-08-17 10:11
閱讀 1598·2019-08-30 11:15
閱讀 1020·2019-08-26 13:54
閱讀 3508·2019-08-26 11:47
閱讀 1220·2019-08-26 10:20
閱讀 2820·2019-08-23 18:35
閱讀 1216·2019-08-23 17:52
閱讀 1299·2019-08-23 16:19