Dalam PHP, count()
dan sizeof()
pada dasarnya adalah fungsi yang sama. Fungsi sizeof()
adalah alias untuk count()
, yang bermaksud ia melakukan operasi yang sama. Kedua -dua fungsi digunakan untuk mengira bilangan elemen dalam array atau bilangan sifat dalam objek.
Berikut adalah contoh mudah untuk menggambarkan penggunaannya:
<code class="php">$array = [1, 2, 3, 4, 5]; echo count($array); // Outputs: 5 echo sizeof($array); // Outputs: 5</code>
Perbezaan utama antara kedua -dua terletak pada penamaan mereka. count()
adalah nama fungsi yang lebih biasa digunakan dan disyorkan dalam komuniti dan dokumentasi PHP. sizeof()
dikekalkan untuk keserasian mundur tetapi kurang kerap digunakan dalam kod PHP moden.
Oleh kerana sizeof()
adalah alias untuk count()
, tidak ada perbezaan prestasi antara kedua -dua fungsi. Kedua -dua fungsi akan dilaksanakan dengan kelajuan dan penggunaan sumber yang sama kerana ia secara dalaman adalah operasi yang sama.
Dalam PHP, panggilan fungsi agak murah, tetapi jika prestasi adalah faktor kritikal, perlu diperhatikan bahawa fungsi -fungsi ini dapat dilangkau dalam senario tertentu. Sebagai contoh, jika anda bekerja dengan array yang diindeks secara berangka dan anda perlu mengetahui bilangan elemen, menggunakan fungsi array_key_last()
(tersedia dalam php 7.3) dan menambah 1 ke hasilnya boleh sedikit lebih cepat daripada count()
atau sizeof()
.
<code class="php">$array = [1, 2, 3, 4, 5]; $lastKey = array_key_last($array); $count = $lastKey !== null ? $lastKey 1 : 0;</code>
Walau bagaimanapun, bagi kebanyakan kes penggunaan, perbezaan prestasi boleh diabaikan, dan kebolehbacaan harus diprioritaskan melalui pengoptimuman mikro.
Anda harus menggunakan count()
bukannya sizeof()
dalam senario berikut:
count()
adalah fungsi yang lebih biasa digunakan dan disyorkan dalam komuniti PHP, dengan menggunakannya membantu mengekalkan konsistensi dengan piawaian pengekodan PHP moden dan menjadikan kod anda lebih mudah dibaca kepada pemaju lain.count()
atau sizeof()
, tetapi menggunakan count()
sejajar dengan nasihat umum menggunakan fungsi dan amalan yang diterima secara meluas.count()
dalam dokumentasi dan contoh kod mereka. Menggunakan count()
dalam kod anda akan memudahkan untuk mengintegrasikan dan memahami rangka kerja dan perpustakaan ini.count()
akan menjadikan kod anda lebih dikenali dan dikekalkan, seperti sizeof()
mungkin dilihat sebagai ketinggalan zaman atau kurang akrab. Ya, anda boleh menggunakan count()
dan sizeof()
secara bergantian dalam semua konteks PHP. Oleh kerana sizeof()
adalah alias untuk count()
, mereka akan berkelakuan identik dalam situasi tertentu. Kedua -dua fungsi akan mengembalikan hasil yang sama apabila dipanggil dengan hujah yang sama.
Walau bagaimanapun, biasanya disyorkan untuk menggunakan count()
atas sebab -sebab yang disebutkan sebelumnya, seperti konsistensi dengan amalan PHP moden dan kebolehbacaan yang lebih baik. Berikut adalah beberapa perkara tambahan untuk dipertimbangkan:
count()
dan sizeof()
menerima parameter mode
pilihan untuk membolehkan pengiraan rekursif array bersarang. Contohnya:<code class="php">$array = [1, [2, 3], [4, [5, 6]]]; echo count($array, COUNT_RECURSIVE); // Outputs: 6 echo sizeof($array, COUNT_RECURSIVE); // Outputs: 6</code>
<code class="php">class Example { public $a = 1; public $b = 2; } $obj = new Example(); echo count($obj); // Outputs: 2 echo sizeof($obj); // Outputs: 2</code>
Dalam semua konteks ini, count()
dan sizeof()
akan menghasilkan hasil yang sama dan boleh digunakan secara bergantian, walaupun count()
adalah pilihan pilihan untuk mengekalkan piawaian pengekodan moden.
Atas ialah kandungan terperinci Apakah perbezaan antara kiraan () dan sizeof () dalam php?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!