Heim >Backend-Entwicklung >PHP-Problem >php mehrdimensionales in zweidimensionales Array
In PHP müssen Entwickler häufig mit mehrdimensionalen Datenstrukturen umgehen, die aus verschiedenen Ressourcen stammen, und diese Datenstrukturen können sehr komplexe Datentypen enthalten. Mehrdimensionale Arrays sind ein sehr nützliches Werkzeug beim Umgang mit diesen Datenstrukturen. In einigen Fällen müssen wir jedoch möglicherweise mehrdimensionale Arrays in zweidimensionale Arrays konvertieren.
In diesem Artikel untersuchen wir, wie man mit PHP mehrdimensionale Arrays in zweidimensionale Arrays für allgemeinere Datenverarbeitungsanforderungen umwandelt.
Um zu demonstrieren, wie ein mehrdimensionales Array in ein zweidimensionales Array konvertiert wird, müssen wir zunächst ein mehrdimensionales Array definieren . Wir erstellen ein „Fruit“-Array mit drei Hauptkategorien, die jeweils drei verschiedene Einträge enthalten.
$fruits = array(
"apples" => array( array("brand" => "Granny Smith", "color" => "green", "price" => 0.75), array("brand" => "Fuji", "color" => "red", "price" => 0.50), array("brand" => "Golden Delicious", "color" => "yellow", "price" => 0.60) ), "oranges" => array( array("brand" => "Valencia", "color" => "orange", "price" => 0.80), array("brand" => "Navel", "color" => "orange", "price" => 0.85), array("brand" => "Blood", "color" => "red", "price" => 1.10) ), "bananas" => array( array("brand" => "Cavendish", "color" => "yellow", "price" => 0.25), array("brand" => "Lady Finger", "color" => "green", "price" => 0.30), array("brand" => "Red Dacca", "color" => "red", "price" => 0.35) )
);
Im obigen Array haben wir ein Fruchtarray erstellt, das drei Kategorien enthält, jede dieser Kategorien enthält drei verschiedene Marken-, Farb- und Preiskombinationen.
Da wir nun ein mehrdimensionales Array definiert haben und verstehen, wie es organisiert ist, Wir kann mit dem Schreiben von Code beginnen, um diesen in ein 2D-Array umzuwandeln.
Wir können die array_map-Funktion von PHP verwenden, die eine Callback-Funktion auf jedes Element in einem mehrdimensionalen Array anwendet und ein neues Array zurückgibt, das das Ergebnis der Callback-Funktion enthält.
Das Folgende ist ein Beispielcode, der eine Rückruffunktion enthält, die ein mehrdimensionales Array in ein zweidimensionales Array umwandelt:
$flat_fruits = array();#🎜 🎜#array_map(function ($group) use (&$flat_fruits) {
foreach ($group as $item) { $flat_fruits[] = array( "category" => array_keys($group)[0], "brand" => $item["brand"], "color" => $item["color"], "price" => $item["price"] ); }}, $fruits);Im obigen Code erstellen wir zunächst eine Gruppe namens $flat_fruits Neues Array zum Speichern unserer konvertierten Ergebnisse. Anschließend verwenden wir die Funktion array_map, um jeden Eintrag des Arrays $fruits zu durchlaufen und ihn an eine anonyme Funktion zu übergeben, die eine Operation an diesem Eintrag ausführt. In dieser anonymen Funktion verwenden wir zunächst eine foreach-Schleife, um alle möglichen Elemente in jeder Kategorie zu durchlaufen. Für jeden Artikel verpacken wir ihn in ein neues Array und speichern die Marke, Farbe, den Preis und die Kategorie des Artikels (hier haben wir nur den Namen der Kategorie verwendet). Schließlich fügen wir dieses neue Array zum Array $flat_fruits hinzu, das zu unserem konvertierten 2D-Array wird.
echo $item["category"] . " > " . $item["brand"] . " (" . $item["color"] . ", $" . $item["price"] . ")\n";}Oben Code verwenden wir eine foreach-Schleife, um jedes Element im $flat_fruits-Array zu durchlaufen. Für jedes Element formatieren wir seinen Inhalt in eine Zeichenfolge und geben ihn auf dem Terminal aus. Die Ausgabe sollte etwa wie folgt aussehen:Äpfel > Granny Smith (grün, 0,75 $)
Äpfel > Fuji (rot, 0,5 $)#🎜 🎜#Äpfel > Golden Delicious (gelb, 0,6 $)
Orangen > Valencia (orange, 0,85 $)
Orangen > Blut (rot, 0,85 $) )
Bananen > Cavendish (gelb, 0,25 $)
Bananen > Lady Finger (grün, 0,35 $)
Wie Sie sehen, haben wir das mehrdimensionale Array erfolgreich in ein zweidimensionales Array konvertiert und die Ausgabe formatiert. Es ist ersichtlich, dass die Funktion array_map von PHP ein sehr nützliches Werkzeug für die Verarbeitung mehrdimensionaler Arrays ist. Es ermöglicht Entwicklern die einfache Bearbeitung mehrdimensionaler Datenstrukturen und die einfache Anwendung einer Transformationslogik, um die Daten in jedes gewünschte Format umzuwandeln.
Das obige ist der detaillierte Inhalt vonphp mehrdimensionales in zweidimensionales Array. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!