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
DDDOriginal
2024-12-09 20:31:14362Durchsuche

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

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!

Stellungnahme:
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