isset和empty的區別

2021-08-15 14:34:47 字數 636 閱讀 3095

1.

對於初學php的人來說,empty()和和isset()用法的區別是很難搞清楚的,他們的用法的差別不仔細去琢磨的話確實很難弄清楚。

先說一下他們的共同點:

都可以判定乙個變數是否為空;

都返回boolean型別,即true或false。

下面具體說一下他們用法之間的區別:

isset()用來檢測變數是否設定,只能用於變數,因為傳遞任何其它引數都將造成解析錯誤。若想檢測常量是否已設定,可使用 defined() 函式。如果已經使用 unset() 釋放了乙個變數之後,它將不再是 isset()。若使用 isset() 測試乙個被設定成 null 的變數,將返回 false。(注意的是乙個 null 位元組("\0")並不等同於 php 的 null 常數)

empty()用來檢查乙個變數是否為空。

他們之間最大的區別就是對於0的判斷,若用empty判斷會認為是空,用isset則認為不為空,舉個例子:

<?php

var $a=0;

//empty($a)返回true

if(empty($a)){

echo "判斷結果是空"

//isset($a)返回true

if(isset($a)){

echo "判斷結果不是空"

isset 和empty 的區別

php的isset 函式 一般用來檢測變數是否設定 格式 bool isset mixed var mixed var 功能 檢測變數是否設定 返回值 若變數不存在則返回 false 若變數存在且其值為null,也返回 false 若變數存在且值不為null,則返回 ture 同時檢查多個變數時,每...

empty 和isset 的區別

在使用 php 編寫頁面程式時,我經常使用變數處理函式判斷 php 頁面尾部引數的某個變數值是否為空,開始的時候我習慣了使用 empty 函式,卻發現了一些問題,因此改用 isset 函式,問題不再。顧名思義,empty 判斷乙個變數是否為 空 isset 判斷乙個變數是否已經設定。正是這種所謂的 ...

empty 和isset的區別

empty是判斷乙個變數是否為空,如果 變數 是非空或非零的值,則 empty 返回 false。換句話說,0 0 null false array var var 未定義 以及沒有任何屬性的物件都將被認為是空的,如果 var 為空,則返回 true。1 數字0 2 空的字元 3 定義為null的變...