>  기사  >  백엔드 개발  >  PHP에서 stdClass 객체의 속성을 정확하게 계산하는 방법은 무엇입니까?

PHP에서 stdClass 객체의 속성을 정확하게 계산하는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-10-19 22:47:02623검색

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

PHP에서 stdClass 개체의 속성 계산

json_decode를 사용하여 JSON 데이터에서 생성된 개체로 작업할 때 count() 함수가 반환되는 문제가 발생할 수 있습니다. 개체에 수많은 속성이 있음에도 불구하고 값이 잘못되었습니다.

문제

다음 예를 고려하세요.

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

            )
     )

이 개체에 대한 Running count($obj)는 1을 반환합니다. , 속성이 30개인데도 마찬가지입니다. 이는 count()가 객체의 속성이 아닌 배열의 인덱스 수를 계산하도록 설계되었기 때문입니다.

해결책

이 문제를 해결하려면 객체를 배열로 캐스팅하세요. 예를 들면:

$total = count((array)$obj);

객체를 배열로 캐스팅하면 count()가 인덱스 대신 속성 수를 평가하게 됩니다. 이 예에서 $total은 30개의 속성 수를 정확하게 반영합니다.

참고

이 캐스팅 기술이 항상 적용 가능한 것은 아닙니다. 그러나 제공된 것과 같은 간단한 stdClass 객체의 경우 올바른 속성 수를 얻는 데 충분합니다.

위 내용은 PHP에서 stdClass 객체의 속성을 정확하게 계산하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.