Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich ein 2D-PHP-Array nach Maschine und geordneten Jobs in ein 3D-Array umstrukturieren?
Umstrukturierung eines mehrdimensionalen Arrays in PHP
In der gegebenen Abfrage besteht das Ziel darin, ein 2D-Array in ein 3D-Array umzuwandeln, in dem jedes Element enthalten ist stellt eine Maschine dar und enthält die zugehörigen Jobs, geordnet in aufsteigender Reihenfolge basierend auf ihrem ursprünglichen Schlüssel. So kann dies in PHP erreicht werden:
Wir beginnen mit der Initialisierung eines leeren Arrays namens $result, das die neu strukturierten Daten enthält. Dann durchlaufen wir mithilfe einer foreach-Schleife das ursprüngliche Array $MainArray.
Für jeden Datensatz in $MainArray extrahieren wir den Wert „Machine_Name“ und verwenden ihn als Schlüssel für ein Unterarray innerhalb von $result. Wenn in $result kein Eintrag für diese Maschine vorhanden ist, wird er mit einem leeren Array erstellt.
Wir hängen dann den aktuellen Datensatz an das Unterarray an, das dem Maschinennamen zugeordnet ist. Dadurch werden effektiv alle Jobs zusammengefasst, die sich auf dieselbe Maschine beziehen.
Um sicherzustellen, dass die Jobs in der gewünschten Reihenfolge angeordnet sind, sortieren wir jedes Unterarray mithilfe der ksort-Funktion in aufsteigender Reihenfolge des Originalschlüssels. Das Ergebnis wird wieder im $result-Array gespeichert.
Der folgende Code veranschaulicht diesen Prozess:
$result = []; foreach ($MainArray as $record) { $result[$record['Machine_Name']][] = $record; } foreach ($result as $machine => $jobs) { ksort($result[$machine]); }
Dieser Code erzeugt ein 3D-Array, $result, wobei die erste Dimension Maschinen darstellt und die zweite Dimension enthält eine geordnete Liste von Jobs, die jeder Maschine zugeordnet sind.
Das obige ist der detaillierte Inhalt vonWie kann ich ein 2D-PHP-Array nach Maschine und geordneten Jobs in ein 3D-Array umstrukturieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!