Dalam PHP, pertukaran nilai kunci tatasusunan boleh dicapai melalui fungsi array_flip(). Untuk tatasusunan yang besar, gelung manual boleh meningkatkan prestasi. Dalam kes sebenar, melalui pengoptimuman gelung manual, kelajuan penukaran tatasusunan pemetaan ID pengguna kepada nama pengguna boleh dipertingkatkan dengan ketara dan kelajuan pertanyaan boleh dipercepatkan.
Dalam PHP, pertukaran nilai kunci tatasusunan ialah operasi biasa, yang boleh menukar kunci dan nilai tatasusunan.
Fungsi standard
PHP menyediakan fungsi standard yang dipanggil array_flip()
untuk melakukan ini: array_flip()
的标准函数来执行此操作:
$arr = ['a' => 1, 'b' => 2, 'c' => 3]; $flipped = array_flip($arr); print_r($flipped); // 输出:['1' => 'a', '2' => 'b', '3' => 'c']
手动循环
对于大型数组,array_flip()
$flipped = []; foreach ($arr as $key => $value) { $flipped[$value] = $key; }
Gelung manual
Untuk tatasusunan besar,$arr = ['id1' => 'user1', 'id2' => 'user2', /* ...数百万个元素 */]; $flipped = array_flip($arr);
Contoh dunia sebenar
Berikut ialah contoh dunia sebenar yang menunjukkan cara mengoptimumkan pertukaran nilai kunci tatasusunan:
Andaikan kita mempunyai tatasusunan dengan ratusan Susunan besar 10,000 elemen yang digunakan untuk memetakan ID pengguna kepada nama pengguna mereka. Untuk meningkatkan kelajuan pertanyaan, kami ingin menukar tatasusunan kepada tatasusunan dengan nama pengguna sebagai kunci dan ID pengguna sebagai nilai.Pengoptimuman yang tidak digunakan
$flipped = []; foreach ($arr as $id => $username) { $flipped[$username] = $id; }
Atas ialah kandungan terperinci Pertukaran nilai kunci tatasusunan PHP: pengoptimuman prestasi berdasarkan set data tertentu. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!