ホームページ >バックエンド開発 >PHPチュートリアル >2D PHP 配列をマシン名で 3D 配列にグループ化するにはどうすればよいですか?

2D PHP 配列をマシン名で 3D 配列にグループ化するにはどうすればよいですか?

DDD
DDDオリジナル
2024-12-09 20:31:14275ブラウズ

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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。