php中isset與empty函數(shù)的困惑與用法分析
本文實例講述了php中isset與empty函數(shù)的困惑與用法。分享給大家供大家參考,具體如下:
在學(xué)習(xí)php有一段時間之后,感覺自己的基礎(chǔ)知識還是有點不牢固,有的問題就不怎么知道,比如就有一個,在判斷一個變量是否為空的情況下,我就不知道是用isset()
還是empty()
。今天我就來分析該用哪個函數(shù)。
isset()
:用于判斷一個函數(shù)是否被設(shè)置過,如果設(shè)置過就為true,否則就為false,但是有一個例外,就是如果一個變量被設(shè)置成null的話,此時也會返回的也是false。
<?php $a = null; var_dump(isset($a));//a變量已賦值,但是被設(shè)置成null,故返回false var_dump(isset($b));//內(nèi)存中不存在變量b,故返回false var_dump(isset($_GET['id']));//如果$_GET['id']變量不存在,則返回false;如果$_GET['id']存在,則返回true ?>
empty()
:用于判斷一個變量是否為空,如果是整形的0,浮點型的0.0,字符型的' ‘和'0',還有布爾型的false,NULL型的null,空數(shù)組等
<?php $a = null; var_dump(empty($a));//true $b = ""; var_dump(empty($b));//true $c = "0"; var_dump(empty($b));//true $c = 0; var_dump(empty($b));//true $e = false; var_dump(empty($e));//true $f = array(); var_dump(empty($f));//true var_dump(empty($g));//$g變量不存在,返回true var_dump(empty($_GET['id']));//如果$_GET['id']不存在,則返回true;如果存在,但是值是上述條件,則還是返回true。 ?>
總結(jié):如果是判斷一個變量是否存在,可以用isset()
和empty()
;如果判斷變量的值是否為空,那么就用empty()
。
注意:以前我在做項目的時候,出現(xiàn)了這樣的一個問題,我把select下拉列表框的選中的值傳到服務(wù)器,服務(wù)器從超全局?jǐn)?shù)組中獲取到了值,但是當(dāng)時我不清楚isset()
和empty()
的區(qū)別,當(dāng)時只知道他們都能判斷變量是否存在,結(jié)果我用了empty()
函數(shù),最后,就出現(xiàn)bug了,我用empty()
進行判斷,把我傳過來的變量的值為0的情況就給排除了。
所有在這里提醒大家,如果只是判斷變量是否為空,最好還是用isset()
。
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php常用函數(shù)與技巧總結(jié)》、《php字符串(string)用法總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《PHP基本語法入門教程》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家PHP程序設(shè)計有所幫助。
相關(guān)文章
php 快速判斷一個數(shù)字屬于什么范圍的實現(xiàn)方法
這篇文章主要介紹了php 快速判斷一個數(shù)字屬于什么范圍的實現(xiàn)方法,需要的朋友可以參考下2018-07-07PHP結(jié)合Ffmpeg快速搭建流媒體服務(wù)的實踐記錄
這篇文章主要給大家介紹了關(guān)于使用PHP結(jié)合Ffmpeg快速搭建流媒體服務(wù)的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-10-10PHP導(dǎo)出EXCEL快速開發(fā)指南--PHPEXCEL的使用詳解
本篇文章是對PHPEXCEL的使用進行了詳細的分析介紹,需要的朋友參考下2013-06-06php不用GD庫生成當(dāng)前時間的PNG格式圖象的程序
該程序是不用GD庫可以生成當(dāng)前時間的PNG格式圖象,給人大開眼界,很有參考價值. teaman整理2008-09-09php中計算中文字符串長度、截取中文字符串的函數(shù)代碼
在做PHP開發(fā)的時候,由于我國的語言環(huán)境問題,所以我們常常需要對中文進行處理。2011-08-08php將print_r處理后的數(shù)據(jù)還原為原始數(shù)組的解決方法
下面小編就為大家?guī)硪黄猵hp中將print_r處理后的數(shù)據(jù)還原為原始數(shù)組的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考2016-11-11