Rumah > pembangunan bahagian belakang > tutorial php > Kunci tatasusunan PHP dan pertukaran nilai: perbandingan kecekapan algoritma yang berbeza

Kunci tatasusunan PHP dan pertukaran nilai: perbandingan kecekapan algoritma yang berbeza

王林
Lepaskan: 2024-05-04 11:57:02
asal
344 orang telah melayarinya

Dalam PHP, algoritma terbaik untuk menukar kunci dan nilai tatasusunan ialah: array_flip(): kerumitan masa O(n), kerumitan ruang O(n). gelung foreach(): sesuai untuk tatasusunan besar, kerumitan masa O(n), kerumitan ruang O(1). array_combine(): serupa dengan array_flip(), tetapi dengan tatasusunan nilai kunci tersuai, kerumitan masa O(n), kerumitan ruang O(2n).

PHP 数组键和值互换:不同算法的效率对比

Pertukaran Kunci Tatasusunan PHP dan Pertukaran Nilai: Perbandingan Kecekapan Algoritma Berbeza

Pengenalan

Dalam PHP, anda mungkin menghadapi senario yang bertukar kepada kunci tatasusunan. Terdapat berbilang algoritma untuk melakukan ini, masing-masing mempunyai ciri kecekapannya sendiri. Artikel ini akan membandingkan kecekapan algoritma yang berbeza dan menyediakan kes praktikal.

Algoritma

  • array_flip(): Fungsi terbina dalam yang mengambil kunci tatasusunan sebagai nilai tatasusunan baharu dan nilai itu sebagai kunci tatasusunan baharu.
  • gelung foreach(): Gunakan gelung untuk mengulang tatasusunan, gunakan pembolehubah sementara untuk menyimpan kunci dan nilai buat sementara waktu, dan kemudian menukarnya.
  • array_combine(): Serupa dengan array_flip(), tetapi membenarkan tatasusunan kunci dan nilai tersuai.

Perbandingan kecekapan

Jadual berikut membandingkan kecekapan algoritma berbeza:

()O(n) O(n)foreach() gelungO(n)O(1)array_combine()O(n)
Algoritma Kerumitan masa Kerumitan lip

Praktikal Kes

Pertimbangkan tatasusunan berikut:

$array = ['foo' => 1, 'bar' => 2, 'baz' => 3];
Salin selepas log masuk

Kita boleh menukar kunci dan nilai menggunakan fungsi array_flip():

$newArray = array_flip($array);
Salin selepas log masuk

Hasilnya adalah seperti berikut:

$newArray = [1 => 'foo', 2 => 'bar', 3 => 'baz'];
Salin selepas log masuk
Kesimpulan

Kesimpulan🎜🎜 Fungsi array_flip() ialah Pilihan Terbaik untuk menukar kunci dan nilai tatasusunan kerana ia mempunyai kerumitan ruang yang minimum dan kerumitan masa yang berterusan. Untuk tatasusunan yang sangat besar, gelung foreach() mungkin lebih cekap kerana ia mempunyai penggunaan memori yang lebih kecil. 🎜

Atas ialah kandungan terperinci Kunci tatasusunan PHP dan pertukaran nilai: perbandingan kecekapan algoritma yang berbeza. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan