Heim >Backend-Entwicklung >PHP-Tutorial >Wie gruppiere ich ein 2D-PHP-Array nach Maschinennamen in ein 3D-Array?
So konvertieren Sie ein 2D-Array in ein 3D-Array in PHP
Sie verfügen über ein vorhandenes 2D-Array, das Auftragsinformationen für verschiedene Maschinen enthält. Die Aufgabe besteht darin, dieses Array in ein 3D-Array umzuwandeln, gruppiert nach Maschinennamen.
Die gewünschte Ausgabe ist ein 3D-Array, bei dem die Schlüssel Maschinennamen sind und jeder Maschinenname ein Array von Auftragsdatensätzen enthält. Die Auftragsdatensätze umfassen die folgenden Felder:
Job_Name Quantity Start_Date Completion_Date Labor
PHP-Code-Lösung:
Um das 2D-Array in ein 3D-Array zu konvertieren, können Sie den folgenden PHP-Code verwenden :
$result = []; foreach ($MainArray as $record) { $result[$record['Machine_Name']][] = $record; }
Erklärung:
Das foreach Die Schleife durchläuft jeden Datensatz im $MainArray. Für jeden Datensatz wird das Feld „Machine_Name“ überprüft und der Datensatz zum entsprechenden Maschinenarray im $result-Array hinzugefügt.
Wenn der Maschinenname nicht als Schlüssel im $result-Array vorhanden ist, wird er erstellt und Der Datensatz wird dem Array unter diesem Schlüssel hinzugefügt.
Beispiel:
Gegeben sei Folgendes $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 ]
Die Ausgabe des $result-Arrays wäre:
[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 ] ]
Dieses neue 3D-Array kann verwendet werden, um auf nach Maschinennamen gruppierte Auftragsdatensätze zuzugreifen.
Das obige ist der detaillierte Inhalt vonWie gruppiere ich ein 2D-PHP-Array nach Maschinennamen in ein 3D-Array?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!