首頁 > 後端開發 > php教程 > 如何以機器名稱將 2D PHP 陣列分組為 3D 陣列?

如何以機器名稱將 2D PHP 陣列分組為 3D 陣列?

DDD
發布: 2024-12-09 20:31:14
原創
364 人瀏覽過

How to Group a 2D PHP Array into a 3D Array by Machine Name?

如何在PHP 中將2D 數組轉換為3D 數組

您有一個現有的2D 數組,其中包含不同機器的作業資訊.任務是將此數組轉換為 3D 數組,按機器名稱分組。

所需的輸出是一個 3D 數組,其中鍵是機器名稱,每個機器名稱包含一個作業記錄數組。作業記錄包含以下欄位:

Job_Name
Quantity
Start_Date
Completion_Date
Labor
登入後複製

PHP 程式碼解:

要將 2D 陣列轉換為 3D 數組,可以使用下列PHP程式碼:

$result = [];
foreach ($MainArray as $record) {
    $result[$record['Machine_Name']][] = $record;
}
登入後複製

解釋:

foreach 循環遍歷 $MainArray 中的每筆記錄。對於每筆記錄,它會檢查 Machine_Name 字段,並將該記錄新增至 $result 數組中對應的機器數組。

如果機器名稱不作為 $result 數組中的鍵存在,則會建立它並記錄將添加到該鍵下的數組中。

範例:

給出以下內容$MainArray:

[0] => [
    'Job_Name' => 'WXYZ',
    'Quantity' => 1000,
    'Machine_Name' => 'Machine1',
    'Start_Date' => '2014-07-30 00:00:00',
    'Completion_Date' => '2014-08-02 00:00:00',
    'Labor' => 4
]
[1] => [
    'Job_Name' => 'ABCD',
    'Quantity' => 1500,
    'Machine_Name' => 'Machine2',
    'Start_Date' => '2014-08-08 00:00:00',
    'Completion_Date' => '2014-08-14 00:00:00',
    'Labor' => 2
]
[2] => [
    'Job_Name' => 'BCDA',
    'Quantity' => 1200,
    'Machine_Name' => 'Machine1',
    'Start_Date' => '2014-08-02 00:00:00',
    'Completion_Date' => '2014-08-07 00:00:00',
    'Labor' => 1
]
登入後複製

$result 陣列的輸出將是:

[Machine1] => [
    [
        'Job_Name' => 'WXYZ',
        'Quantity' => 1000,
        'Start_Date' => '2014-07-30 00:00:00',
        'Completion_Date' => '2014-08-02 00:00:00',
        'Labor' => 4
    ],
    [
        'Job_Name' => 'BCDA',
        'Quantity' => 1200,
        'Start_Date' => '2014-08-02 00:00:00',
        'Completion_Date' => '2014-08-07 00:00:00',
        'Labor' => 1
    ]
]
[Machine2] => [
    [
        'Job_Name' => 'ABCD',
        'Quantity' => 1500,
        'Start_Date' => '2014-08-08 00:00:00',
        'Completion_Date' => '2014-08-14 00:00:00',
        'Labor' => 2
    ]
]
登入後複製

這個新的3D 陣列可用來存取按機器名稱分組的作業記錄。

以上是如何以機器名稱將 2D PHP 陣列分組為 3D 陣列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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