Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana Menggunakan PDO untuk Mendapatkan Susunan Bersekutu Dikumpulkan Mengikut Nilai Lajur?

Bagaimana Menggunakan PDO untuk Mendapatkan Susunan Bersekutu Dikumpulkan Mengikut Nilai Lajur?

Barbara Streisand
Lepaskan: 2024-10-22 07:37:31
asal
731 orang telah melayarinya

How to Use PDO to Retrieve an Associative Array Grouped by Column Values?

Menggunakan PDO untuk Mendapatkan Susunan Bersekutu Dikumpulkan Mengikut Nilai Lajur

Dalam operasi pangkalan data, selalunya diperlukan untuk mendapatkan semula data yang disusun dalam format tertentu . Satu format sedemikian ialah tatasusunan bersekutu yang dikumpulkan mengikut nilai lajur tertentu. Ini membolehkan akses mudah kepada data berdasarkan lajur yang ditentukan. Berikut ialah perbincangan tentang cara untuk mencapai ini menggunakan PDO.

Masalah: Diberi jadual dengan data berikut:

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

Matlamat: Ambil data dalam format 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

Penyelesaian: Untuk mencapai ini, anda boleh menggunakan kaedah fetchAll PDO dengan mod berikut:

$pdo->query('SELECT * FROM employee')->fetchAll(PDO::FETCH_GROUP|PDO::FETCH_UNIQUE);
Salin selepas log masuk

The Mod FETCH_GROUP mengumpulkan hasil mengikut nilai lajur pertama. Mod FETCH_UNIQUE mengehadkan hasil kepada satu baris untuk setiap nilai unik dalam lajur pengumpulan. Akibatnya, anda mendapat tatasusunan bersekutu dengan nilai lajur berfungsi sebagai kunci dan lajur selebihnya sebagai nilai.

Contoh Output:

Array
(
  [Antony] => Array
    (
      [0] => (age: 34, sex: M, position: programmer)
    )
  [Sally] => Array
    (
      [0] => (age: 30, sex: F, position: manager)
    )
  [Matthew] => Array
    (
      [0] => (age: 28, sex: M, position: designer)
    )
)
Salin selepas log masuk

Perhatikan bahawa output mengandungi tatasusunan dengan satu baris untuk setiap kumpulan. Ini kerana mod FETCH_UNIQUE memastikan bahawa hanya baris pertama untuk setiap kumpulan diambil.

Atas ialah kandungan terperinci Bagaimana Menggunakan PDO untuk Mendapatkan Susunan Bersekutu Dikumpulkan Mengikut Nilai Lajur?. 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