php程式設計基本功之isset與empty
最常用的兩個函式,許多來應聘的有多年程式設計經驗的老鳥都搞不清楚,見下面的例子:
- $arr[] = “;
- $arr[] = 0;
- $arr[] = NULL;
- $arr[] = null;
- $arr[] = `0`;
- $arr[] = ` `;
- echo “isset empty
“; - echo “——————————-
“; - foreach ($arr as $key => $val)
- {
- echo isset($val) ? `true`: `false`;
- echo ” “;
- echo empty($val) ? `true`: `false`;
- echo ”
“; - }
輸出:
- isset empty
- ——————————-
- true true
- true true
- false true
- false true
- true true
- true false
當我們在表單輸入時,經常遇到的一個問題,尤其是在做配置的時候,當填入0時,代表的是值是0,但不填值表示的可能是該值未定義。對於這種情況可以用下面的函式來做判斷:
- /**
- * 判斷值是否為空
- *
- * 在php中,0,null,array()和“用empty函式判斷時都會返回true, 但實際上很多情況下0是不應當被認為是空
- * 的。比如在設定引數值時,0可能表示值真的是0,而空字串則可能表示該值未設定
- *
- * @author ustb80
- * @param mixed $value 變數值
- * @param boolean $is_trim 是否要去掉前後空格
- * @return boolean
- */
- function isEmpty($value, $is_trim = false)
- {
- return $value === null || $value === array() || $value === “ || ($is_trim && is_scalar($value) && trim($value) === “);
- }
- echo isEmpty(0) ? `1`:`0`;
- echo isEmpty(`0`) ? `1`:`0`;
輸出:
- 00
可以看到輸入0已不再被認為是空了,不論其是字元還是數字。
本文轉自 ustb80 51CTO部落格,原文連結:http://blog.51cto.com/ustb80/1047128,如需轉載請自行聯絡原作者
相關文章
- php--isset()、is_null() 、empty()PHPNull
- PHP isset()與empty()的使用區別詳解PHP
- php中isset(),unnset(),empty()函式PHP函式
- PHP中isset()與empty()的使用區別詳解PHP
- php true false isset empty is_null array()PHPFalseNull
- ***PHP中empty()和isset()的區別PHP
- PHP 由 empty 和 isset 面試題引起的思考PHP面試題
- PHP中empty、isset和is_null的使用區別PHPNull
- php資料型別以及判斷isset或者empty使用PHP資料型別
- JAVA網路程式設計基本功之Servlet與Servlet容器Java程式設計Servlet
- php中empty()、isset()、is_null()和變數本身的布林判斷區別PHPNull變數
- php中empty()、isset()、is_null()和變數本身的布林判斷區別(轉)PHPNull變數
- 最簡程式設計基本功指南程式設計
- jQuery之empty()與remove()方法jQueryREM
- PHP回顧之socket程式設計PHP程式設計
- PHP Web程式設計教與學PHPWeb程式設計
- 玩轉 PHP 網路程式設計全套之 socket stream 程式設計PHP程式設計
- 深入理解PHP之isset和array_key_exists對比PHP
- 玩轉 PHP 網路程式設計全套之資料接收與傳送PHP程式設計
- PHP 併發程式設計之 Master-Worker 模式PHP程式設計AST模式
- PHP 實戰之設計模式:PHP 中的設計模式PHP設計模式
- PHP高階程式設計:模式、框架與測試PHP程式設計模式框架
- 《Python程式設計練習與解答》之程式設計概論Python程式設計
- [技術討論]程式碼除錯,程式設計師的基本功除錯程式設計師
- PHP多程式程式設計(一)PHP程式設計
- 讀《瘋狂Java:突破程式設計師基本功的16課》之陣列與記憶體控制部分總結Java程式設計師陣列記憶體
- 玩轉 PHP 網路程式設計之原理篇PHP程式設計
- linux系統程式設計之程式(一):程式與程式Linux程式設計
- 表單驗證的3個函式ISSET()、empty()、is_numeric()的使用方法函式
- php非同步程式設計PHP非同步程式設計
- 現代php程式設計PHP程式設計
- PHP程式設計考試PHP程式設計
- PHP 設計模式之策略模式PHP設計模式
- PHP回顧之多程式程式設計PHP程式設計
- 玩轉 PHP 網路程式設計全套之多程式程式設計PHP程式設計
- JavaScript函數語言程式設計之pointfree與宣告式程式設計JavaScript函數程式設計
- PHP系統程式設計--01.多程式與多執行緒PHP程式設計執行緒
- 玩轉 PHP 網路程式設計全套之 libevent 框架之 httpServerPHP程式設計框架HTTPServer