Dua kaedah yang cekap untuk pertukaran nilai kunci tatasusunan PHP: menggunakan fungsi array_flip() (cekap, disyorkan untuk jumlah data yang besar) pertukaran manual (agak perlahan, sesuai untuk jumlah data yang kecil) Ujian prestasi menunjukkan bahawa fungsi array_flip() menukar 100,000 elemen adalah kira-kira 2.3 kali lebih cepat daripada pertukaran manual.
Pertukaran Nilai Utama Tatasusunan PHP: Pelaksanaan dan Perbincangan Prestasi yang Cekap
Dalam PHP, kadangkala kita perlu menukar nilai utama tatasusunan. Catatan blog ini akan meneroka dua pelaksanaan yang cekap dan membandingkan prestasi mereka melalui kes praktikal.
Kaedah 1: array_flip() function
$arr = ['foo' => 'bar', 'baz' => 'qux']; $reversedArr = array_flip($arr);
Kaedah 2: Pertukaran manual
$arr = ['foo' => 'bar', 'baz' => 'qux']; $newArray = []; foreach ($arr as $key => $value) { $newArray[$value] = $key; }
Kes praktikal
Kami akan menggunakan PHP'struecuecode>fungsi microtime(true)
函数来测量两种方法的执行时间:
$arr = range(1, 100000); // 创建一个包含 100,000 个元素的数组 // array_flip() 方法 $startTime = microtime(true); $reversedArr = array_flip($arr); $endTime = microtime(true); $timeTakenArrayFlip = $endTime - $startTime; // 手动交换方法 $startTime = microtime(true); $newArray = []; foreach ($arr as $key => $value) { $newArray[$value] = $key; } $endTime = microtime(true); $timeTakenManual = $endTime - $startTime;
结果
在我的测试机器上,array_flip()
方法在执行 100,000 次键值交换时花费了大约 0.0013 秒,而手动交换方法花费了大约 0.003 秒。
结论
对于键值交换,array_flip()
rrreee
array_flip()
mengambil masa kira-kira 0.0013 saat untuk melakukan 100,000 pertukaran nilai kunci, manakala kaedah swap manual Ia mengambil masa kira-kira 0.003 saat. 🎜🎜🎜Kesimpulan🎜🎜🎜Untuk pertukaran nilai kunci, fungsi array_flip()
ialah kaedah yang lebih cekap dalam PHP, terutamanya apabila berurusan dengan jumlah data yang besar. 🎜Atas ialah kandungan terperinci Pertukaran nilai kunci tatasusunan PHP: pelaksanaan yang cekap dan perbincangan prestasi. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!