Wie zähle ich Eigenschaften eines stdClass-Objekts in PHP genau?

Patricia Arquette
Freigeben: 2024-10-19 22:47:02
Original
622 Leute haben es durchsucht

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

Zählen der Eigenschaften eines stdClass-Objekts in PHP

Beim Arbeiten mit Objekten, die aus JSON-Daten mit json_decode erstellt wurden, kann es zu einem Problem kommen, bei dem die Funktion count() zurückkehrt ein falscher Wert, obwohl das Objekt über zahlreiche Eigenschaften verfügt.

Das Problem

Betrachten Sie das folgende Beispiel:

[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
                    )

            )
     )
Nach dem Login kopieren

Das Ausführen von count($obj) für dieses Objekt würde 1 zurückgeben , obwohl es 30 Eigenschaften gibt. Dies liegt daran, dass count() darauf ausgelegt ist, die Anzahl der Indizes in einem Array zu zählen, nicht die Eigenschaften eines Objekts.

Die Lösung

Um dieses Problem zu beheben, wandeln Sie das Objekt in ein Array um etwa so:

$total = count((array)$obj);
Nach dem Login kopieren

Das Umwandeln des Objekts in ein Array zwingt count() dazu, die Anzahl der Eigenschaften anstelle von Indizes auszuwerten. In diesem Beispiel würde $total die Anzahl von 30 Eigenschaften genau widerspiegeln.

Hinweis

Diese Casting-Technik ist möglicherweise nicht immer anwendbar. Für einfache stdClass-Objekte wie das bereitgestellte sollte es jedoch ausreichen, die richtige Eigenschaftsanzahl zu erhalten.

Das obige ist der detaillierte Inhalt vonWie zähle ich Eigenschaften eines stdClass-Objekts in PHP genau?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!