Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana dengan Cekap Menukarkan Hasil Pangkalan Data Menjadi Tatasusunan Bersekutu Menggunakan PDO?

Bagaimana dengan Cekap Menukarkan Hasil Pangkalan Data Menjadi Tatasusunan Bersekutu Menggunakan PDO?

Susan Sarandon
Lepaskan: 2024-10-22 20:04:02
asal
371 orang telah melayarinya

How to Efficiently Convert a Database Result Into an Associative Array Using PDO?

Menukar Set Keputusan kepada Tatasusunan Bersekutu Menggunakan Pasangan Nilai Kunci dengan PDO

Apabila bekerja dengan pertanyaan yang mengembalikan pasangan nilai kunci, seperti:

<code class="sql">SELECT `key`, `value` FROM `settings`;</code>
Salin selepas log masuk

Anda mungkin menginginkan tatasusunan bersekutu di mana kunci dan nilai sepadan dengan data yang dikembalikan. Biasanya, ini dicapai melalui proses yang melibatkan:

<code class="php">$settings_flat = $db
    ->query("SELECT `name`, `value` FROM `settings`;")
    ->fetchAll(PDO::FETCH_ASSOC);

$settings   = array();

foreach ($settings_flat as $setting) {
    $settings[$setting['name']] = $setting['value'];
}</code>
Salin selepas log masuk

Walaupun kaedah ini biasa, ia memerlukan berbilang lelaran dan potensi isu prestasi. Walau bagaimanapun, terdapat penyelesaian alternatif yang tersedia:

<code class="php">$q = $db->query("SELECT `name`, `value` FROM `settings`;");
$r  = $q->fetchAll(PDO::FETCH_KEY_PAIR);</code>
Salin selepas log masuk

Pemalar PDO::FETCH_KEY_PAIR membolehkan anda mendapatkan semula data sebagai tatasusunan bersekutu terus daripada pertanyaan, memudahkan proses dan berpotensi meningkatkan prestasi pada set hasil yang lebih besar.

Atas ialah kandungan terperinci Bagaimana dengan Cekap Menukarkan Hasil Pangkalan Data Menjadi Tatasusunan Bersekutu Menggunakan PDO?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan