ホームページ >バックエンド開発 >PHPチュートリアル >2D PHP 配列をマシン名で 3D 配列にグループ化するにはどうすればよいですか?
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 サイトの他の関連記事を参照してください。