isset()
和! empty()
函數類似,兩者都會傳回相同的結果。但唯一的差別是!當變數不存在時,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
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
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()函數的異同的詳細內容。更多資訊請關注PHP中文網其他相關文章!