J'ai un objet stdClass créé à partir de json_decode qui ne retournera pas le bon nombre lorsque j'exécuterai la fonction count ($ obj). L'objet a 30 propriétés, mais le retour sur la fonction count() est dit 1.PHP: Compter un objet stdClass
Des idées?
Voici un exemple de l'un des objets. (Je demande les informations sur les tendances quotidiennes de Twitter). Si cet objet avait plus d'une propriété, le nombre (obj $) serait égal à 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
)
)
)
Pourriez-vous préciser votre exemple? Comme vous l'avez posté, il a une propriété '2009-08-21 11: 05', étant un tableau avec 20 entrées, donc count ($ trends) retournerait légitimement 1. –
Comme [Steven a souligné] (http:// stackoverflow.com/questions/1314745/php-count-an-stdclass-object/1314754 # 1314754), l'objet est de type stdClass, qui n'implémente pas l'interface Countable, donc count () retournera toujours 1. –
Hopel, vous avez parfaitement raison. Si je lance l'objet dans un tableau, il renvoie le bon nombre! Excellent. – hellopat