Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Menghimpunkan Baris dalam Tatasusunan PHP 2D Berdasarkan Nilai Lajur Menggunakan Lelaran?

Bagaimanakah Saya Boleh Menghimpunkan Baris dalam Tatasusunan PHP 2D Berdasarkan Nilai Lajur Menggunakan Lelaran?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-20 20:08:10796semak imbas

How Can I Group Rows in a 2D PHP Array Based on a Column Value Using Iteration?

Mengumpulkan Baris Tatasusunan 2D mengikut Nilai Lajur Menggunakan Pendekatan Berulang

Apabila berurusan dengan tatasusunan berbilang dimensi yang kompleks, keperluan untuk mengumpulkan baris berdasarkan tertentu nilai lajur sering timbul. Walaupun PHP tidak mempunyai fungsi asli untuk tugasan ini, gelung foreach mudah boleh mencapai ini dengan berkesan.

Pertimbangkan tatasusunan berikut:

$data = [
    [
        'id' => 96,
        'shipping_no' => '212755-1',
        'part_no' => 'reterty',
        'description' => 'tyrfyt',
        'packaging_type' => 'PC'
    ],
    [
        'id' => 96,
        'shipping_no' => '212755-1',
        'part_no' => 'dftgtryh',
        'description' => 'dfhgfyh',
        'packaging_type' => 'PC'
    ],
    [
        'id' => 97,
        'shipping_no' => '212755-2',
        'part_no' => 'ZeoDark',
        'description' => 's%c%s%c%s',
        'packaging_type' => 'PC'
    ]
];

Untuk mengumpulkan baris tatasusunan mengikut lajur 'id', gunakan gelung berikut:

$result = [];
foreach ($data as $element) {
    $result[$element['id']][] = $element;
}

Gelung ini berulang melalui setiap elemen tatasusunan asal. Untuk setiap elemen, ia menyemak nilai 'id' dan menambah elemen pada subbaris yang sepadan dalam tatasusunan hasil.

Tatasusunan $result yang terhasil akan dikumpulkan mengikut 'id' seperti berikut:

[
    96 => [
        // Element with id 96 from the original array
        // Element with id 96 from the original array
    ],
    97 => [
        // Element with id 97 from the original array
    ]
]

Pendekatan ini mengelakkan item pendua dalam tatasusunan hasil, memastikan setiap baris ditugaskan kepada kumpulan yang betul berdasarkan lajur 'id' nilai.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menghimpunkan Baris dalam Tatasusunan PHP 2D Berdasarkan Nilai Lajur Menggunakan Lelaran?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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