Contar as propriedades de um objeto stdClass em PHP usando a função count() pode nem sempre retornar o resultado esperado. A função count() foi projetada principalmente para contar os elementos de um array.
Para contar com precisão as propriedades de um objeto stdClass, você pode convertê-lo em um array usando (array)$obj. Essa conversão criará um array com chaves e valores correspondentes às propriedades do objeto.
Considere o seguinte objeto stdClass, que representa dados de tendências diárias recuperados do Twitter:
$trends = json_decode('{
"trends": {
"2009-08-21 11:05": [
{
"query": "Follow Friday",
"name": "Follow Friday"
},
... // Additional trend data
]
}
}');
Se você usar count($trends) neste objeto, poderá não obter o resultado esperado de 30, pois o objeto tem 30 propriedades.
Em vez disso, converta o objeto para uma matriz e depois contar os elementos:
$total = count((array)$trends);
Essa abordagem contará com precisão as propriedades do objeto $trends, resultando no valor correto de 30.
Lembre-se de que converter um objeto como uma matriz pode ter limitações em determinadas circunstâncias. No entanto, para objetos stdClass simples como o deste exemplo, ele fornece um método conveniente para contar suas propriedades.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3