Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana untuk Mengumpulkan Tatasusunan PHP 2D dengan Cekap mengikut Nilai Lajur?

Bagaimana untuk Mengumpulkan Tatasusunan PHP 2D dengan Cekap mengikut Nilai Lajur?

Mary-Kate Olsen
Lepaskan: 2024-12-26 02:27:09
asal
224 orang telah melayarinya

How to Efficiently Group a 2D PHP Array by Column Value?

Menghimpunkan Tatasusunan 2D mengikut Nilai Lajur Dengan Cekap Menggunakan PHP

Mengumpulkan tatasusunan berbilang dimensi mengikut nilai lajur tertentu boleh meningkatkan organisasi dan pengambilan data. Walaupun tiada fungsi PHP asli untuk tugasan ini, pendekatan tersuai menggunakan gelung foreach boleh mencapai matlamat ini dengan berkesan.

Masalah:

Pertimbangkan tatasusunan 2D berikut yang mewakili baris data:

$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',
    ],
];
Salin selepas log masuk

Objektifnya adalah untuk mengumpulkan elemen tatasusunan mengikut lajur 'id' dan membentuk subarrays daripada baris berkumpulan.

Penyelesaian:

Menggunakan gelung foreach:

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

Penjelasan:

Gelung foreach berulang melalui setiap elemen dalam tatasusunan $data. Untuk setiap elemen, ia menyemak lajur 'id' dan menggunakannya sebagai kunci dalam tatasusunan $result. Jika kekunci (id) sudah wujud, elemen baharu dilampirkan pada subbaris yang sepadan.

Output:

Anasusunan $result akan dikumpulkan berdasarkan ' lajur id', menghasilkan:

$result = [
    96 => [
        [
            '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',
        ],
    ],
    97 => [
        [
            'id' => 97,
            'shipping_no' => '212755-2',
            'part_no' => 'ZeoDark',
            'description' => 's%c%s%c%s',
            'packaging_type' => 'PC',
        ],
    ],
];
Salin selepas log masuk

Kaedah ini menyediakan cara yang fleksibel dan cekap untuk mengumpulkan tatasusunan 2D dengan nilai lajur yang ditentukan, membolehkan pengekstrakan dan manipulasi data yang cekap.

Atas ialah kandungan terperinci Bagaimana untuk Mengumpulkan Tatasusunan PHP 2D dengan Cekap mengikut Nilai Lajur?. 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