這篇文章主要介紹了PHP中的isset()和!empty()函數有什么區別,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
1.isset()
isset ( mixed $var , mixed $... = ? ) : bool
var:要檢查的變量。
返回值:如果 var 存在并且值不是 null 則返回 true,否則返回 false。
PS:如果已經使用 unset()
釋放了一個變量之后,它將不再是 isset()。若使用 isset()
測試一個被設置成 null 的變量,將返回 false。同時要注意的是 null
字符("\0")并不等同于 PHP
的 null 常量。如果一次傳入多個參數,那么 isset()
只有在全部參數都以被設置時返回 true
計算過程從左至右,中途遇到沒有設置的變量時就會立即停止。
<?php $num = '0'; if( isset( $num ) ) { print_r(" $num is set with isset "); } echo "<br>"; // 聲明一個空數組 $array = array(); echo isset($array['geeks']) ? 'array is set.' : 'array is not set.'; ?>
輸出:
0 is set with isset functionarray is not set. array is not set.
2.empty()
empty ( mixed $var ) : bool
var:待檢查的變量
返回值:當var存在,并且是一個非空非零的值時返回 false
否則返回 true
.
<?php $temp = 0; if (empty($temp)) { echo $temp . ' is considered empty'; } echo "\n"; $new = 1; if (!empty($new)) { echo $new . ' is considered set'; } ?>
輸出
0 is considered empty 1 is considered set
以下內容會被判定為空:
"" (空字符串)
0 (作為整數的0)
0.0 (作為浮點數的0)
"0" (作為字符串的0)
null
fals
earray() (一個空數組)
$var; (一個聲明了,但是沒有值的變量)
3.二者異同
isset()和!empty()
函數類似,兩者都將返回相同的結果。但唯一的區別是!當變量不存在時,empty()
函數不會生成任何警告或電子通知。它足以使用任何一個功能。通過將兩個功能合并到程序中會導致時間流逝和不必要的內存使用。
<?php $num = '0'; if( isset ( $num ) ) { print_r( $num . " is set with isset function"); } echo "\n"; $num = 1; if( !empty ( $num ) ) { print_r($num . " is set with !empty function"); } ?>
0 is set with isset function 1 is set with !empty function
感謝你能夠認真閱讀完這篇文章,希望小編分享的“PHP中的isset()和!empty()函數有什么區別”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。