檢查 PHP 中是否存在某個屬性

Rana Hasnain Khan 2023年1月30日
  1. 使用 property_exists() 檢查 PHP 中是否存在屬性
  2. 使用 isset() 檢查 PHP 中是否存在屬性
  3. まとめ
檢查 PHP 中是否存在某個屬性

PHP 為我們提供了兩個簡單的解決方案,我們可以使用它們來檢查物件中是否存在特定屬性,然後執行特定的程式碼。

本文將介紹這兩種方法來檢查 PHP 中的物件或類中是否存在屬性。

使用 property_exists() 檢查 PHP 中是否存在屬性

property_exists() 方法檢查物件或類是否具有屬性。它有兩個引數,物件和屬性。

讓我們通過一個例子來檢查一個特定的屬性是否存在。所以讓我們建立一個具有兩個屬性的物件,如下所示。

# php
$obj = (object) array('a' => 1, 'b' => 2);

現在,讓我們檢查一下這個物件中是否存在屬性 c,如下所示。

# php
$obj = (object) array('a' => 1, 'b' => 2);
if(property_exists($obj, 'c')){
    echo "Property C Exists";
}
if(property_exists($obj, 'b')){
    echo "Property B Exists";
}

輸出:

檢查 PHP 示例中是否存在屬性

上面的例子中存在屬性 b,我們得到了上面的結果。

使用 isset() 檢查 PHP 中是否存在屬性

PHP 中的 isset() 函式檢查是否設定了變數或變數是否存在。我們可以使用 isset() 函式來檢查物件是否宣告瞭特定的屬性。

該函式與 property_exists() 略有不同,因為它返回 true 或 false。

讓我們用我們實現 property_exists() 的相同場景來實現 isset() 函式。

# php
if(isset($obj->c)){
    echo "Property C Exists";
}
if(isset($obj->b)){
    echo "Property B Exists";
}

輸出:

檢查 PHP 示例中是否存在屬性

如你所見,它返回的結果與 property_exists() 函式相同。

まとめ

因此,在本教程中,我們瞭解了 PHP 中的兩個內建函式,它們可用於檢查物件屬性是否存在,如果存在則執行某段程式碼。我們還了解了 isset()property_exists() 函式之間的區別。

Rana Hasnain Khan avatar Rana Hasnain Khan avatar

Rana is a computer science graduate passionate about helping people to build and diagnose scalable web application problems and problems developers face across the full-stack.

LinkedIn