PHP empty 函數(shù)是處理 PHP 變量的一個(gè)非常有用的函數(shù),其作用是檢查給定的變量是否為空或者是否沒有被設(shè)置。在實(shí)際開發(fā)過程中,empty 函數(shù)一般被用來判斷一個(gè)變量是否具有有效的值,如果變量的值不為 null、false、0、'' (空字符串)、'0' (字符串的數(shù)字零)、[] 空數(shù)組 和 被認(rèn)為是空的對象,則 empty 函數(shù)返回 false ,否則返回 true,我們可以通過下面幾個(gè)示例來更好的理解 empty 函數(shù)的使用方法。
$str = ''; if (empty($str)) { echo '該字符串為空'; } else { echo '該字符串不為空'; } //輸出結(jié)果:該字符串為空
代碼中的 $str 變量被賦值為空字符串,因此會輸出該字符串為空的結(jié)果。接著我們再來看一個(gè)示例,在實(shí)際項(xiàng)目中我們經(jīng)常需要檢索一些數(shù)據(jù),而檢索的查詢條件可能為空,這個(gè)時(shí)候也可以使用 empty 函數(shù)來判斷,比如以下示例:
$name = null; $sex = '男'; $sql = "SELECT * FROM users WHERE "; if (empty($name)) { $sql .= "sex = '$sex'"; } else { $sql .= "name = '$name'"; } echo $sql; //輸出結(jié)果:SELECT * FROM users WHERE sex = '男'
在以上示例中,如果 $name 不為空,則會按照 $name 的值作為查詢條件,如果 $name 為空或者為 null,則會按照 $sex 的值作為查詢條件。
現(xiàn)在,我們來看下如何使用 empty 函數(shù)來判斷數(shù)組和對象是否為空。
$arr = array(); if (empty($arr)) { echo '該數(shù)組為空'; } else { echo '該數(shù)組不為空'; } //輸出結(jié)果:該數(shù)組為空
從以上示例中可以看出,使用 empty 函數(shù)來判斷一個(gè)空數(shù)組非常簡單,只需要將數(shù)組作為參數(shù)傳入函數(shù)即可。接下來我們看下如何判斷一個(gè)對象是否為空:
class Person { public $name; public $age; public $sex; public function isEmpty() { return empty($this->name) && empty($this->age) && empty($this->sex); } } $person = new Person(); if ($person->isEmpty()) { echo '該 person 對象為空'; } else { echo '該 person 對象不為空'; } //輸出結(jié)果:該 person 對象為空
以上示例中,我們定義了一個(gè) Person 類,并使用 isEmpty() 方法來判斷該對象是否為空。isEmpty() 方法通過判斷對象屬性 name、age 和 sex 是否都為空來判斷該對象是否為空,如果對象屬性都為空,則該對象為空,反之則不為空。
綜上所述,PHP empty 函數(shù)在實(shí)際開發(fā)過程中具有非常重要的作用,我們可以通過它來判斷一個(gè)變量、數(shù)組或?qū)ο笫欠駷榭?,從而更好的掌控代碼流程,提高代碼的可讀性和可維護(hù)性。