首頁 > 後端開發 > php教程 > 如何按列值有效地將 2D PHP 陣列進行分組?

如何按列值有效地將 2D PHP 陣列進行分組?

Mary-Kate Olsen
發布: 2024-12-26 02:27:09
原創
227 人瀏覽過

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

使用PHP 以列值對二維數組進行高效分組

按特定列值對多維數組進行分組可以增強資料組織和分組檢索。雖然沒有用於此任務的原生 PHP 函數,但使用 foreach 迴圈的自訂方法可以有效地實現此目標。

問題:

考慮以下代表的 2D 陣列資料行:

$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',
    ],
];
登入後複製

目標是按 'id'列將數組元素分組並形成子數組

解決方案:

使用foreach 循環:

$result = [];
foreach ($data as $element) {
    $result[$element['id']][] = $element;
}
登入後複製

解釋:

解釋:

解釋:

$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',
        ],
    ],
];
登入後複製
foreach 循環遍歷$data 陣列中的每個元素。對於每個元素,它檢查“id”列並將其用作 $result 數組中的鍵。如果鍵(id)已經存在,則將新元素追加到對應的子數組中。

輸出:$result 陣列將根據' 進行分組id' 列,結果為:此方法提供了一種靈活高效的方法來以指定的方式對2D 數組進行分組列值,實現高效的資料提取和操作。

以上是如何按列值有效地將 2D PHP 陣列進行分組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板