Heim > Backend-Entwicklung > PHP-Tutorial > Wie gruppiere ich ein 2D-PHP-Array nach Maschinennamen in ein 3D-Array?

Wie gruppiere ich ein 2D-PHP-Array nach Maschinennamen in ein 3D-Array?

DDD
Freigeben: 2024-12-09 20:31:14
Original
372 Leute haben es durchsucht

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

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
Nach dem Login kopieren

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;
}
Nach dem Login kopieren

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
]
Nach dem Login kopieren

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
    ]
]
Nach dem Login kopieren

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!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage