首頁  >  文章  >  後端開發  >  如何在 PHP 中準確統計 stdClass 物件的屬性?

如何在 PHP 中準確統計 stdClass 物件的屬性?

Patricia Arquette
Patricia Arquette原創
2024-10-19 22:47:02623瀏覽

How to Accurately Count Properties of a stdClass Object in PHP?

在PHP 中計算stdClass 物件的屬性

使用json_decode 處理從JSON 資料建立的物件時,您可能會遇到count() 函數傳回的問題儘管物件具有許多屬性,但值不正確。

問題

考慮以下範例:

[trends] => stdClass Object
    (
        [2009-08-21 11:05] => Array
            (
                [0] => stdClass Object
                    (
                        [query] => "Follow Friday"
                        [name] => Follow Friday
                    )

                ...
                [19] => stdClass Object
                    (
                        [query] => H1N1
                        [name] => H1N1
                    )

            )
     )

在此物件上執行 count($obj) 會傳回 1 ,即使有 30 個屬性。這是因為 count() 旨在計算數組中索引的數量,而不是物件的屬性。

解決方案

要解決此問題,請將物件轉換為陣列像這樣:

$total = count((array)$obj);

將物件轉換為陣列會強制count() 計算屬性的數量而不是索引的數量。在此範例中,$total 將準確反映 30 個屬性的計數。

注意

此轉換技術可能並不總是適用。然而,對於像所提供的那樣簡單的 stdClass 對象,應該足以獲取正確的屬性計數。

以上是如何在 PHP 中準確統計 stdClass 物件的屬性?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn