Dalam PHP, kaedah untuk membalikkan tatasusunan mengikut susunan prestasi daripada cepat kepada perlahan ialah: fungsi array_reverse(), pembalikan manual menggunakan gelung, pembalikan manual menggunakan gelung while. Apabila saiz tatasusunan ujian ialah 10,000, masa pelaksanaan fungsi array_reverse() ialah 0.0010440111160278 milisaat, pembalikan manual menggunakan gelung for ialah 0.0014300346374512 milisaat dan pembalikan manual menggunakan gelung sementara140.99 saat ialah 140.999 saat. . Terdapat beberapa cara untuk mencapai pembalikan tatasusunan dalam PHP. Artikel ini akan membandingkan prestasi kaedah penyongsangan yang berbeza dan menyediakan kes praktikal untuk menggambarkan keputusan.
Kaedah
Kami membandingkan kaedah membalikkan tatasusunan berikut:
fungsi untuk
pembalikan gelung li> li>Penggunaan manual penyongsangan gelung while
Kes praktikal
Kami mencipta tatasusunan 10,000 integer dan kemudian mengukur pelaksanaan untuk setiap masa kaedah penyongsangan .
Code
$array = range(1, 10000); // array_reverse() $start = microtime(true); $reversed_array_array_reverse = array_reverse($array); $end = microtime(true); $time_array_reverse = $end - $start; // 手动反转,使用 `for` 循环 $start = microtime(true); $reversed_array_for = []; for ($i = count($array) - 1; $i >= 0; $i--) { $reversed_array_for[] = $array[$i]; } $end = microtime(true); $time_for = $end - $start; // 手动反转,使用 `while` 循环 $start = microtime(true); $reversed_array_while = []; while (count($array) > 0) { $reversed_array_while[] = array_pop($array); } $end = microtime(true); $time_while = $end - $start; // 输出结果 echo "时间:array_reverse(): " . $time_array_reverse . " 毫秒\n"; echo "时间:手动反转,使用 `for` 循环: " . $time_for . " 毫秒\n"; echo "时间:手动反转,使用 `while` 循环: " . $time_while . " 毫秒\n";
array_reverse()
函数for
循环反转while
循环反转实战案例
我们创建一个包含 10,000 个整数的数组,然后针对每个反转方法测量执行时间。
代码
时间:array_reverse(): 0.0010440111160278 毫秒 时间:手动反转,使用 `for` 循环: 0.0014300346374512 毫秒 时间:手动反转,使用 `while` 循环: 0.0014059543609619 毫秒
结果
在我们的测试中,array_reverse()
函数的执行速度最快,接下来是手动反转使用 for
循环,然后是手动反转使用 while
循环。以下是被测数组大小为 10,000 的结果:
结论
对于较小的数组,array_reverse()
函数是数组反转最快的选择。然而,当数组变得更大时,手动反转使用 for
循环可能成为更好的选择。手动反转使用 while
循环通常比使用 for
Results
array_reverse()
melakukan yang paling pantas, diikuti dengan pembalikan manual menggunakan gelung for
, kemudian secara manual terbalikkan gelung menggunakan while
. Berikut ialah keputusan untuk saiz tatasusunan yang diuji sebanyak 10,000: 🎜rrreee🎜🎜Kesimpulan🎜🎜🎜Untuk tatasusunan yang lebih kecil, fungsi array_reverse()
ialah pilihan terpantas untuk pembalikan tatasusunan. Walau bagaimanapun, apabila tatasusunan menjadi lebih besar, membalikkan penggunaan gelung for
secara manual mungkin menjadi pilihan yang lebih baik. Pembalikan manual menggunakan gelung while
biasanya lebih perlahan daripada menggunakan gelung for
. 🎜Atas ialah kandungan terperinci Perbandingan prestasi pembalikan tatasusunan PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!