Heim  >  Artikel  >  Backend-Entwicklung  >  So konvertieren Sie ein dreidimensionales in ein zweidimensionales Array in PHP

So konvertieren Sie ein dreidimensionales in ein zweidimensionales Array in PHP

PHPz
PHPzOriginal
2023-04-27 09:10:101872Durchsuche

In PHP besteht ein assoziatives Array normalerweise aus Schlüssel-Wert-Paaren und kann auch mehrdimensional sein. In einigen Fällen müssen wir jedoch ein dreidimensionales Array in ein zweidimensionales Array umwandeln, um die Datenverarbeitung und -anzeige zu erleichtern. In diesem Artikel wird erläutert, wie Sie ein dreidimensionales Array in ein zweidimensionales Array konvertieren.

1. Warum müssen wir ein dreidimensionales Array in ein zweidimensionales Array umwandeln? In einigen Fällen erhalten wir ein dreidimensionales Array aus der Datenbank oder anderen Datenquellen, aber bei der tatsächlichen Verarbeitung der Daten Sie müssen nur ein zweidimensionales Array verwenden. Wenn wir beispielsweise über ein dreidimensionales Array mit Stadt- und Sehenswürdigkeitsinformationen für alle Provinzen in China verfügen und diese Informationen auf einer Webseite anzeigen möchten, müssen wir dieses dreidimensionale Array in ein zweidimensionales Array konvertieren um die Datenverarbeitung und -anzeige zu erleichtern.

2. So konvertieren Sie ein dreidimensionales Array in ein zweidimensionales Array

Es gibt viele Möglichkeiten, ein dreidimensionales Array in ein zweidimensionales Array umzuwandeln. In diesem Artikel werden zwei verschiedene Methoden vorgestellt.

1. Verwenden Sie die foreach-Schleife. Die foreach-Schleife ist eine sehr häufige Methode zum Durchlaufen eines Arrays. Alle Array-Elemente können über die foreach-Schleife abgerufen werden. Für dreidimensionale Arrays können wir verschachtelte foreach-Schleifen verwenden, um sie in zweidimensionale Arrays umzuwandeln. Der Code lautet wie folgt:

$sourceArray = array(
    array(
        array("a"=>1,"b"=>2),
        array("a"=>3,"b"=>4),
        array("a"=>5,"b"=>6)
    ),
    array(
        array("a"=>7,"b"=>8),
        array("a"=>9,"b"=>10),
        array("a"=>11,"b"=>12)
    ),
    array(
        array("a"=>13,"b"=>14),
        array("a"=>15,"b"=>16),
        array("a"=>17,"b"=>18)
    )
);

$targetArray = array();
foreach($sourceArray as $province){
    foreach($province as $city){
        $targetArray[] = array_values($city);
    }
}

Im obigen Beispiel ist $sourceArray ein dreidimensionales Array mit drei Provinzen, jede Provinz enthält mehrere Städte und jede Stadt enthält mehrere Attraktionen.

Wir verwenden zunächst ein leeres Array $targetArray als Zielarray. Für jede Provinz verwenden wir die erste foreach-Schleife, um jede Stadt zu durchqueren. Für jede Stadt verwenden wir eine zweite foreach-Schleife, um jede Attraktion zu durchlaufen und sie zu $targetArray hinzuzufügen. Da jede Stadt und jede Attraktion ein assoziatives Array ist, konvertieren wir es mit der Funktion array_values() in ein zweidimensionales Array.

Am Ende wird $targetArray zu einem zweidimensionalen Array, das alle Informationen zu Stadt und Sehenswürdigkeiten enthält.

2. Verwenden Sie die Funktion array_map.

Wenn Sie keine foreach-Schleife verwenden möchten, können wir die Funktion array_map verwenden, um ein dreidimensionales Array in ein zweidimensionales Array umzuwandeln. Der Code lautet wie folgt:

function flattenArray($element){
    return array_values($element);
}

$sourceArray = array(
    array(
        array("a"=>1,"b"=>2),
        array("a"=>3,"b"=>4),
        array("a"=>5,"b"=>6)
    ),
    array(
        array("a"=>7,"b"=>8),
        array("a"=>9,"b"=>10),
        array("a"=>11,"b"=>12)
    ),
    array(
        array("a"=>13,"b"=>14),
        array("a"=>15,"b"=>16),
        array("a"=>17,"b"=>18)
    )
);

$targetArray = array();
foreach($sourceArray as $province){
    $targetArray = array_merge($targetArray,array_map("flattenArray",$province));
}

In diesem Beispiel definieren wir eine Funktion namens flattenArray, die verwendet wird, um jedes Element in ein zweidimensionales Array umzuwandeln. Anschließend wenden wir diese Funktion mithilfe der Funktion array_map auf jede Stadt an, konvertieren sie in ein 2D-Array und speichern es im Array $targetArray.

Schließlich wird $targetArray zu einem zweidimensionalen Array, das alle Informationen zu Stadt und Sehenswürdigkeiten enthält.

3. Zusammenfassung

In diesem Artikel werden zwei Methoden zum Konvertieren eines dreidimensionalen Arrays in ein zweidimensionales Array vorgestellt. Sie verwenden die foreach-Schleife und die Funktion array_map. Obwohl der Code für diese beiden Methoden unterschiedlich ist, ist ihr Zweck derselbe. Wenn wir große Datenmengen verarbeiten müssen, können wir dieses Problem mit einer dieser Methoden lösen.

Das obige ist der detaillierte Inhalt vonSo konvertieren Sie ein dreidimensionales in ein zweidimensionales Array in PHP. 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