Heim > Backend-Entwicklung > PHP-Tutorial > Zusammenfassung der Methoden zum Konvertieren eines zweidimensionalen PHP-Arrays (oder eines beliebigen dimensionalen Arrays) in ein eindimensionales Array

Zusammenfassung der Methoden zum Konvertieren eines zweidimensionalen PHP-Arrays (oder eines beliebigen dimensionalen Arrays) in ein eindimensionales Array

angryTom
Freigeben: 2023-04-07 17:04:02
nach vorne
2216 Leute haben es durchsucht

Zusammenfassung der Methoden zum Konvertieren eines zweidimensionalen PHP-Arrays (oder eines beliebigen dimensionalen Arrays) in ein eindimensionales Array

Angenommen, es gibt das folgende zweidimensionale Array:

$user = array(
    '0' => array('id' => 100, 'username' => 'a1'),
    '1' => array('id' => 101, 'username' => 'a2'),
    '2' => array('id' => 102, 'username' => 'a3'),
    '3' => array('id' => 103, 'username' => 'a4'),
    '4' => array('id' => 104, 'username' => 'a5'),
);
Nach dem Login kopieren

Nun wollen wir es in ein eindimensionales Array konvertieren. Es gibt zwei Situationen:

One Es wandelt die angegebene Spalte in ein eindimensionales Array um, das in einem anderen Artikel zusammengefasst wird: „Vollständige Methode zum Extrahieren einer angegebenen Spalte aus einem mehrdimensionalen Array in PHP“ .

Jetzt konzentrieren wir uns auf den zweiten Fall, bei dem alle Werte in ein eindimensionales Array konvertiert werden. Die Schlüsselwerte sind gleich und werden nicht überschrieben. Das konvertierte eindimensionale Array sieht so aus:

$result = array(100, 'a1', 101, 'a2', 102, 'a3', 103, 'a4', 104, 'a5');
Nach dem Login kopieren

Es gibt hauptsächlich die folgenden Methoden.

1 array_reduce-Funktionsmethode

Die Verwendung der array_reduce()-Funktion ist eine schnellere Methode:

$result = array_reduce($user, function ($result, $value) {
    return array_merge($result, array_values($value));
}, array())
Nach dem Login kopieren

Weil die array_merge-Funktion die zusammenführt Gleiche Zeichen-Arrays mit Zeichenfolgenschlüsselnamen werden überschrieben und zusammengeführt, daher müssen die Werte vor dem Zusammenführen mit array_value abgerufen werden.

Wenn die zweite Dimension ein numerischer Schlüsselname ist, wie zum Beispiel:

$user = array(
    'a' => array(100, 'a1'),
    'b' => array(101, 'a2'),
    'c' => array(102, 'a3'),
    'd' => array(103, 'a4'),
    'e' => array(104, 'a5'),
);
Nach dem Login kopieren

, dann machen Sie einfach Folgendes:

$result = array_reduce($user, 'array_merge', array())
Nach dem Login kopieren

2 array_walk_recursive Funktionsmethode

Die Verwendung der Funktion array_walk_recursive() ist sehr flexibel und kann ein Array beliebiger Dimension in ein eindimensionales Array umwandeln.

$result = [];
array_walk_recursive($user, function($value) use (&$result) {
    array_push($result, $value);
});
Nach dem Login kopieren

Zum Beispiel das folgende mehrdimensionale Array:

$user4 = array(
    'a' => array(100, 'a1'),
    'b' => array(101, 'a2'),
    'c' => array(
        'd' => array(102, 'a3'),
        'e' => array(103, 'a4'),
    ),
);
Nach dem Login kopieren

Nach Verwendung dieser Methode wird daraus:

$result = array(100, 'a1', 101, 'a2', 102, 'a3', 103, 'a4');
Nach dem Login kopieren

3 array_map-Funktionsmethode

Die Methode zur Verwendung der Funktionen array_map und array_reduce ist ähnlich und wie folgt:

$result = [];
array_map(function ($value) use (&$result) {
    $result = array_merge($result, array_values($value));
}, $user);
Nach dem Login kopieren

Es muss lediglich ein leeres $result-Array deklariert werden.

Darüber hinaus können Sie auch die array_walk-Methode und die foreach-Schleifenmethode verwenden. Die Prinzipien sind die gleichen wie oben.

Weitere PHP-bezogene Kenntnisse finden Sie auf der PHP-Chinese-Website!

Das obige ist der detaillierte Inhalt vonZusammenfassung der Methoden zum Konvertieren eines zweidimensionalen PHP-Arrays (oder eines beliebigen dimensionalen Arrays) in ein eindimensionales Array. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:www.awaimai.com
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