一般に JSON デコードから作成される stdClass オブジェクトを操作する場合、count( ) 関数。複数のプロパティがあるにもかかわらず、関数はカウント 1 を返すことがあります。
これは、count() がオブジェクト内のプロパティではなく、配列内の要素をカウントするように設計されているためです。オブジェクトの場合は、別のアプローチが必要です。
解決策は、stdClass オブジェクトを配列としてキャストすることです。
<code class="php">$total = count((array)$obj);</code>
オブジェクトを配列にキャストすると、効果的にオブジェクトを次のように変換できます。各プロパティが要素となるインデックス付き配列。 count() 関数は、配列内の要素を正確に数えることができ、正しいプロパティ数を提供します。
このメソッドは、stdClass オブジェクトに対して特に効果的です。これは、stdClass オブジェクトが Countable インターフェイスのカスタム実装を持たない単純なオブジェクトであるためです。より複雑なオブジェクトの場合は、カスタム プロパティのカウント メカニズムを提供するために Countable インターフェイスを実装する必要がある場合があります。
以上がPHP で stdClass オブジェクトのプロパティを正確にカウントするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。