Untuk menemukan jumlah elemen dalam PHP $array
, mana yang lebih cepat / lebih baik / lebih kuat?
count($array)
atau sizeof($array)
?
Edit
Terima kasih kepada Andy Lester, saya telah mempersempit pertanyaan saya dari sudut pandang multibahasa. Komentator manual mengatakan
"[sizeof] tidak berarti sama dalam banyak bahasa lain berdasarkan pada C"
Apakah ini benar?
Jawaban:
Saya akan menggunakan
count()
jika mereka sama, seperti dalam pengalaman saya itu lebih umum, dan karena itu akan menyebabkan lebih sedikit pengembang membaca kode Anda untuk mengatakan "sizeof()
, apa itu?" dan harus berkonsultasi dengan dokumentasi.Saya pikir itu berarti
sizeof()
tidak berfungsi seperti halnya di C (menghitung ukuran datatype). Ini mungkin membuat menyebutkan ini secara eksplisit karena PHP ditulis dalam C, dan menyediakan banyak identik bernama pembungkus untuk fungsi C (strlen()
,printf()
, dll)sumber
Menurut phpbench :
Apakah sepadan dengan upaya untuk menghitung panjang loop di muka?
Sebuah loop dengan 1000 kunci dengan nilai 1 byte diberikan.
Jadi saya pribadi lebih suka menggunakan count () daripada sizeof () dengan pra kalk .
sumber
Mereka identik menurut
sizeof()
Dengan tidak adanya alasan untuk khawatir tentang "lebih cepat", selalu optimalkan untuk manusia. Mana yang lebih masuk akal bagi pembaca manusia?
sumber
Menurut situs web,
sizeof()
adalah aliascount()
, jadi mereka harus menjalankan kode yang sama. Mungkinsizeof()
ada sedikit overhead karena perlu menyelesaikannyacount()
? Itu harus sangat minim.sumber
Saya tahu ini sudah lama tetapi hanya ingin menyebutkan bahwa saya mencoba ini dengan PHP 7.2:
dan hasilnya adalah:
Jadi gunakan saja
count()
.sumber
1 000 000 000 iteration of count() took 525 sec
1 000 000 000 iteration of sizeof() took 1361 sec
sizeof()
hanyalah aliascount()
seperti yang disebutkan di sinihttp://php.net/manual/en/function.sizeof.php
sumber
Silakan gunakan fungsi hitung, Ini adalah contoh cara menghitung array dalam suatu elemen
The
count()
fungsi mengembalikan jumlah elemen dalam array.The
sizeof()
fungsi mengembalikan jumlah elemen dalam array.The
sizeof()
fungsi alias daricount()
fungsi.sumber