Dalam PHP, kaedah pengisihan terpantas untuk menukar nilai kunci tatasusunan ialah: array_flip(): 0.00192 saat array_combine(): 0.00506 saat array_map(): 0.01369 saat foreach() + array_keys(): 0.0130 saat gelung tersuai00:32 saat
Persaingan Kelajuan Penukaran Nilai Kunci Tatasusunan PHP
Adalah penting untuk memproses tatasusunan dan menukar nilai kunci dengan cekap dalam PHP. Artikel ini akan menjalankan persaingan pantas antara beberapa kaedah penukaran nilai kunci biasa dan menyediakan kes praktikal untuk membantu anda memahami prestasinya.
Persekitaran ujian
kaedah berikut
array_flip()
array_combine()
array_map()
foreach()
和 array_keys()
实战案例
$arr = range(1, 1000000); // 使用 array_flip() $start = microtime(true); $flipped = array_flip($arr); $end = microtime(true); $time_array_flip = $end - $start; // 使用 array_combine() $keys = range('a', 'z'); $start = microtime(true); $combined = array_combine($keys, $arr); $end = microtime(true); $time_array_combine = $end - $start; // 使用 array_map() $start = microtime(true); $mapped = array_map(function($x) { return [$x, $x]; }, $arr); $end = microtime(true); $time_array_map = $end - $start; // 使用 foreach() 和 array_keys() $start = microtime(true); $flipped = []; $keys = array_keys($arr); foreach ($keys as $key) { $flipped[$key] = $arr[$key]; } $end = microtime(true); $time_foreach = $end - $start; // 使用自定义循环 $start = microtime(true); $flipped = []; for ($i = 0; $i < count($arr); $i++) { $flipped[$arr[$i]] = $arr[$i]; } $end = microtime(true); $time_custom = $end - $start; // 显示结果 echo "array_flip(): $time_array_flip s\n"; echo "array_combine(): $time_array_combine s\n"; echo "array_map(): $time_array_map s\n"; echo "foreach() + array_keys(): $time_foreach s\n"; echo "自定义循环: $time_custom s\n";
结果
方法 | 时间(秒) |
---|---|
array_flip() | 0.00192 |
array_combine() | 0.00506 |
array_map() | 0.01369 |
foreach() + array_keys() | 0.01332 |
自定义循环 | 0.00600 |
结论
根据我们的测试,array_flip()
是转换数组键值的最快方法,而 array_map()
和 foreach()
+ array_keys()
也表现不错。对于大型数组,array_flip()
array_map()
🎜🎜foreach()
dan array_keys()
🎜🎜 sejak Define loop🎜🎜🎜🎜Kes praktikal🎜🎜rrreee🎜🎜Result🎜🎜array_flip()
ialah cara terpantas untuk menukar nilai kunci tatasusunan, manakala array_map()
dan foreach()
+ array_keys ()
juga berfungsi dengan baik. Untuk tatasusunan besar, array_flip()
ialah pilihan terbaik anda kerana ia memberikan prestasi dan kecekapan tertinggi. 🎜Atas ialah kandungan terperinci Persaingan kelajuan penukaran nilai kunci tatasusunan PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!