"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como contar propriedades de um objeto stdClass com precisão em PHP?

Como contar propriedades de um objeto stdClass com precisão em PHP?

Publicado em 2024-11-02
Navegar:289

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

Contando propriedades de um objeto stdClass em PHP

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.

Exemplo

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.

Declaração de lançamento Este artigo foi reproduzido em: 1729348874 Se houver alguma violação, entre em contato com [email protected] para excluí-lo
Tutorial mais recente Mais>

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