Apabila bekerja dengan objek stdClass, yang biasanya dibuat daripada penyahkodan JSON, anda mungkin menghadapi kiraan harta yang salah menggunakan kiraan( ) fungsi. Walaupun mempunyai berbilang sifat, fungsi itu mungkin mengembalikan kiraan 1.
Ini kerana count() direka bentuk untuk mengira elemen dalam tatasusunan, bukan sifat dalam objek. Untuk objek, anda memerlukan pendekatan yang berbeza.
Penyelesaiannya ialah menghantar objek stdClass sebagai tatasusunan:
<code class="php">$total = count((array)$obj);</code>
Dengan menghantar objek ke tatasusunan, anda menukarnya dengan berkesan menjadi tatasusunan diindeks di mana setiap sifat menjadi elemen. Fungsi count() kemudiannya boleh mengira elemen dalam tatasusunan dengan tepat, memberikan kiraan sifat yang betul.
Kaedah ini amat berkesan untuk objek stdClass kerana ia adalah objek ringkas tanpa pelaksanaan tersuai bagi antara muka Boleh Dikira. Untuk objek yang lebih kompleks, anda mungkin perlu melaksanakan antara muka Boleh Dikira untuk menyediakan mekanisme pengiraan harta tersuai.
Atas ialah kandungan terperinci Bagaimana Mengira Hartanah dengan Tepat dalam Objek stdClass dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!