Pembalikan nilai kunci tatasusunan PHP: penerokaan penyelesaian yang cekap

王林
Lepaskan: 2024-05-01 15:00:03
asal
1010 orang telah melayarinya

Pembalikan nilai kunci tatasusunan boleh dicapai dalam banyak cara yang cekap dalam PHP: gunakan fungsi array_flip() untuk bertukar terus kunci dan nilai. Tulis fungsi tersuai untuk menggabungkan nilai dan kunci ke dalam tatasusunan baharu menggunakan array_combine(). Gunakan fungsi pemetaan array_map() dan array_column() untuk menukar struktur tatasusunan dan menggabungkannya semula. Perbandingan prestasi menunjukkan bahawa fungsi array_flip() adalah terpantas dalam tatasusunan kecil, manakala fungsi tersuai dan fungsi pemetaan mempunyai kelebihan apabila saiz tatasusunan lebih besar.

PHP 数组键值颠倒:高效方案探究

Pembalikan nilai kunci tatasusunan PHP: penerokaan penyelesaian yang cekap

Pembalikan nilai kunci tatasusunan, iaitu menukar kunci dan nilai dalam tatasusunan, ialah operasi biasa dalam PHP. Artikel ini akan meneroka beberapa penyelesaian yang cekap dan menunjukkannya melalui kes praktikal.

Kaedah 1: fungsi array_flip()

$array = ['name' => 'John Doe', 'age' => 30];
$flipped_array = array_flip($array);
print_r($flipped_array);
Salin selepas log masuk

Output:

Array
(
    [John Doe] => name
    [30] => age
)
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Kaedah 2: Fungsi tersuai

function flip_array($array) {
    return array_combine(array_values($array), array_keys($array));
}

$array = ['name' => 'John Doe', 'age' => 30];
$flipped_array = flip_array($array);
print_r($flipped_array);
Salin selepas log masuk

Output:

Array
(
    [John Doe] => name
    [30] => age
)
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
$array = ['name' => 'John Doe', 'age' => 30];
$flipped_array = array_map(function($key, $value) { return [$value, $key]; }, array_keys($array), array_values($array));
$flipped_array = array_combine(array_column($flipped_array, 0), array_column($flipped_array, 1));
print_r($flipped_array);
Salin selepas log masuk
Output:

Array
(
    [John Doe] => name
    [30] => age
)
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Perbandingan prestasi

Apabila saiz tatasusunan kecil, fungsi array_flip() adalah yang terpantas. Untuk tatasusunan yang lebih besar, fungsi tersuai dan fungsi pemetaan mempunyai prestasi yang lebih baik.

Kes praktikal

Pembalikan nilai kunci tatasusunan boleh digunakan dalam pelbagai senario, seperti:

Pemetaan daripada ID pengguna kepada nama pengguna
  • Pemetaan daripada kod negara kepada nama negara
  • Improvisasi carian terbalik

Atas ialah kandungan terperinci Pembalikan nilai kunci tatasusunan PHP: penerokaan penyelesaian yang cekap. 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