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 중국어 웹사이트의 기타 관련 기사를 참조하세요!