Bagaimana untuk Mendapatkan Susunan Bersekutu Dikumpulkan Mengikut Lajur Khusus dengan PDO?

Linda Hamilton
Lepaskan: 2024-10-22 07:40:02
asal
1043 orang telah melayarinya

How to Retrieve Associative Arrays Grouped by Specific Column with PDO?

Mengambil Tatasusunan Bersekutu Dihimpunkan mengikut Nilai Lajur dengan PDO

Soalan:

Dalam pangkalan data dengan berbilang lajur (cth., "nama," "umur," "jantina," dan "kedudukan"), bagaimana kita boleh mendapatkan tatasusunan bersekutu dalam format tertentu menggunakan kaedah fetchAll PDO, di mana setiap kunci tatasusunan ialah medan daripada lajur yang ditentukan (cth., "nama" ) dan nilainya ialah baris yang sepadan untuk kunci itu?

Jawapan:

Menggunakan kaedah fetchAll PDO, kami boleh menentukan bendera berikut untuk mencapai hasil yang diingini:

<code class="php">->fetchAll(\PDO::FETCH_GROUP|\PDO::FETCH_UNIQUE);</code>
Salin selepas log masuk

Dengan menggabungkan FETCH_GROUP dan FETCH_UNIQUE, PDO akan mengumpulkan hasil secara automatik mengikut lajur yang ditentukan dan menetapkan lajur pertama sebagai kunci untuk setiap kumpulan, sementara tidak termasuk rekod pendua. Ini menghapuskan tahap sarang tambahan atau keperluan untuk operasi pasca pemprosesan seperti semasa.

Contoh:

Pertimbangkan set data sampel berikut:

name age sex position
Antony 34 M programmer
Sally 30 F manager
Matthew 28 M designer

Menggunakan kaedah pengambilan yang disyorkan, kami boleh mendapatkan semula tatasusunan hasil yang diingini:

<code class="php">$result = $pdo->query('SELECT * FROM employee')->fetchAll(\PDO::FETCH_GROUP|\PDO::FETCH_UNIQUE);

print_r($result);</code>
Salin selepas log masuk

Ini akan mengeluarkan tatasusunan bersekutu berikut:

Array
(
  [Antony] => Array
    (
      [age] => 34
      [sex] => M
      [position] => programmer
    )

  [Sally] => Array
    (
      [age] => 30
      [sex] => F
      [position] => manager
    )

  [Matthew] => Array
    (
      [age] => 28
      [sex] => M
      [position] => designer
    )
)
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Susunan Bersekutu Dikumpulkan Mengikut Lajur Khusus dengan 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