Ich habe ein stdClass-Objekt aus json_decode erstellt, das nicht die richtige Zahl zurückgibt, wenn ich die Funktion count ($ obj) ausführe. Das Objekt hat 30 Eigenschaften, aber die Rückkehr auf die count() - Funktion ist sagen 1.PHP: Zähle ein stdClass-Objekt
Irgendwelche Ideen?
Unten ist ein Beispiel für eines der Objekte. (Ich verlange die täglichen Trendinformationen von Twitter). Wenn dieses Objekt mehr als eine Eigenschaft hat, würde die count ($ obj) gleich 1.
[trends] => stdClass Object
(
[2009-08-21 11:05] => Array
(
[0] => stdClass Object
(
[query] => "Follow Friday"
[name] => Follow Friday
)
[1] => stdClass Object
(
[query] => "Inglourious Basterds" OR "Inglorious Basterds"
[name] => Inglourious Basterds
)
[2] => stdClass Object
(
[query] => Inglourious
[name] => Inglourious
)
[3] => stdClass Object
(
[query] => #songsincode
[name] => #songsincode
)
[4] => stdClass Object
(
[query] => #shoutout
[name] => #shoutout
)
[5] => stdClass Object
(
[query] => "District 9"
[name] => District 9
)
[6] => stdClass Object
(
[query] => #howmanypeople
[name] => #howmanypeople
)
[7] => stdClass Object
(
[query] => Ashes OR #ashes
[name] => Ashes
)
[8] => stdClass Object
(
[query] => #youtubefail
[name] => #youtubefail
)
[9] => stdClass Object
(
[query] => TGIF
[name] => TGIF
)
[10] => stdClass Object
(
[query] => #wish09
[name] => #wish09
)
[11] => stdClass Object
(
[query] => #watch
[name] => #watch
)
[12] => stdClass Object
(
[query] => Avatar
[name] => Avatar
)
[13] => stdClass Object
(
[query] => Ramadhan
[name] => Ramadhan
)
[14] => stdClass Object
(
[query] => Goodnight
[name] => Goodnight
)
[15] => stdClass Object
(
[query] => iPhone
[name] => iPhone
)
[16] => stdClass Object
(
[query] => #iranelection
[name] => #iranelection
)
[17] => stdClass Object
(
[query] => Apple
[name] => Apple
)
[18] => stdClass Object
(
[query] => "Usain Bolt"
[name] => Usain Bolt
)
[19] => stdClass Object
(
[query] => H1N1
[name] => H1N1
)
)
)
Können Sie Ihr Beispiel verdeutlichen? Wie Sie es gepostet haben, hat es eine Eigenschaft '2009-08-21 11: 05', die ein Array mit 20 Einträgen ist, also würde count ($ trends) zu Recht zurückgeben. 1 [ –
] [Steven wies darauf hin] (http://Paketüberfluss.com/questions/1314745/php-count-an-stdclass-object/1314754 # 1314754), das Objekt hat den Typ stdClass, der die Countable-Schnittstelle nicht implementiert, daher gibt count () immer 1. –
zurück Hopel, du hast genau recht. Wenn ich das Objekt in ein Array umwandle, gibt es die richtige Zahl zurück! Ausgezeichnet. – hellopat