Bagaimanakah anda boleh mengumpulkan subarray dalam PHP berdasarkan satu lajur dan mencipta nilai yang dipisahkan koma daripada lajur lain dalam kumpulan tersebut?

Mary-Kate Olsen
Lepaskan: 2024-11-02 15:54:29
asal
418 orang telah melayarinya

How can you group subarrays in PHP based on one column and create comma-separated values from another column within those groups?

Kumpulkan Subarray mengikut Satu Lajur dan Cipta Nilai Dipisahkan Koma daripada Lajur Lain dalam Kumpulan

Dalam PHP, mengumpulkan subarray berdasarkan satu lajur dan menggabungkan nilai dari lajur lain dalam kumpulan tersebut menimbulkan cabaran yang unik. Untuk menangani masalah ini, kami menyediakan penyelesaian terperinci yang mengubah tatasusunan yang diberikan kepada format berstruktur yang diingini.

Tatasusunan sampel yang disediakan terdiri daripada subarray dengan dua elemen setiap satu. Matlamatnya adalah untuk mengumpulkan subarray berdasarkan elemen kedua (dikenali sebagai "lajur") dan mencipta tatasusunan baharu di mana setiap elemen mewakili kumpulan. Dalam setiap elemen kumpulan, elemen pertama haruslah senarai elemen pertama yang dipisahkan koma daripada subarray terkumpul, manakala elemen kedua mewakili lajur biasa.

Untuk mencapai ini, kami menggunakan langkah demi- pendekatan langkah:

  1. Gelung melalui tatasusunan asal: Mulakan dengan mengulangi setiap subarray dalam tatasusunan asal.
  2. Semak kunci kumpulan: Untuk setiap subarray, semak sama ada elemen kedua (kunci kumpulan) wujud dalam tatasusunan baharu yang dipanggil $groups. Jika tidak, mulakan tatasusunan kosong untuk kunci kumpulan itu.
  3. Tambah subarray pada kumpulan: Setelah kunci kumpulan wujud, tambahkan elemen pertama subarray semasa kepada tatasusunan kumpulan yang sepadan.
  4. Buat tatasusunan berstruktur: Selepas memproses tatasusunan asal, gelung melalui tatasusunan $groups. Untuk setiap kumpulan, gabungkan nilai elemen pertamanya menggunakan koma dan simpannya dalam tatasusunan baharu. Gabungkan ini dengan kunci kumpulan untuk mencipta struktur yang diingini.

Skrip PHP yang disediakan di bawah menunjukkan pendekatan ini:

<code class="php">// Create the input array
$data = array(
    array('444', '0081'),
    array('449', '0081'),
    array('451', '0081'),
    array('455', '2100'),
    array('469', '2100')
);

// Initialize the groups array
$groups = array();

// Loop through the original array
foreach ($data as $item) {
    $key = $item[1];  // Get the group key

    // Check if the group key exists
    if (!array_key_exists($key, $groups)) {
        $groups[$key] = array();
    }

    // Add the subarray to the group
    $groups[$key][] = $item[0];
}

// Create the structured array
$structured = array();
foreach ($groups as $group => $values) {
    $structured[] = array(implode(',', $values), $group);
}

// Display the output
print_r($structured);</code>
Salin selepas log masuk

Skrip ini secara berkesan mengubah tatasusunan input menjadi tatasusunan baharu dengan struktur yang ditentukan, di mana subarray dikumpulkan berdasarkan lajur biasa dan elemen pertama subarray terkumpul digabungkan dengan koma.

Atas ialah kandungan terperinci Bagaimanakah anda boleh mengumpulkan subarray dalam PHP berdasarkan satu lajur dan mencipta nilai yang dipisahkan koma daripada lajur lain dalam kumpulan tersebut?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!