Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk mengumpulkan Baris Tatasusunan Berbilang Dimensi mengikut Nilai Lajur dalam PHP?

Bagaimana untuk mengumpulkan Baris Tatasusunan Berbilang Dimensi mengikut Nilai Lajur dalam PHP?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-18 10:14:12506semak imbas

How to Group Multidimensional Array Rows by Column Value in PHP?

Kumpulkan Baris Tatasusunan mengikut Nilai Lajur dan Bentuk Subarrays Menggunakan PHP

Mengumpulkan baris dalam tatasusunan berbilang dimensi mengikut nilai lajur tertentu ialah tugas biasa dalam manipulasi data. Walaupun tiada fungsi PHP terbina dalam untuk mencapai ini secara langsung, gelung tersuai boleh mengumpulkan baris dengan cekap berdasarkan lajur yang dipilih.

Pertimbangkan tatasusunan berbilang dimensi berikut:

$array = [
    [
        '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 kumpulkan tatasusunan mengikut lajur 'id', gelung foreach mudah boleh digunakan:

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

Gelung ini berulang melalui setiap elemen dalam tatasusunan asal dan menyimpannya dalam tatasusunan 'hasil', di mana nilai 'id' berfungsi sebagai kunci. Hasilnya, tatasusunan 'hasil' akan dikumpulkan mengikut lajur 'id':

Array
(
    [96] => Array
        (
            [0] => Array
                (
                    [id] => 96
                    [shipping_no] => 212755-1
                    [part_no] => reterty
                    [description] => tyrfyt
                    [packaging_type] => PC
                )
            [1] => Array
                (
                    [id] => 96
                    [shipping_no] => 212755-1
                    [part_no] => dftgtryh
                    [description] => dfhgfyh
                    [packaging_type] => PC
                )
        )
    [97] => Array
        (
            [0] => Array
                (
                    [id] => 97
                    [shipping_no] => 212755-2
                    [part_no] => ZeoDark
                    [description] => s%c%s%c%s
                    [packaging_type] => PC
                )
        )
)

Atas ialah kandungan terperinci Bagaimana untuk mengumpulkan Baris Tatasusunan Berbilang Dimensi mengikut Nilai Lajur dalam PHP?. 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