Welche Funktionen gibt es zum Konvertieren eines zweidimensionalen PHP-Arrays in ein eindimensionales Array?

L
Freigeben: 2023-03-01 11:18:01
Original
3377 Leute haben es durchsucht

Welche Funktionen gibt es zum Konvertieren eines zweidimensionalen PHP-Arrays in ein eindimensionales Array?

So konvertieren Sie ein zweidimensionales Array in ein eindimensionales Array in PHP

1. array_reduce-Funktionsmethode

2 . array_walk_recursive Funktionsmethode

3. array_map Funktionsmethode

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

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

Eine besteht darin, die angegebene Spalte in ein eindimensionales Array umzuwandeln, was in einem anderen Artikel zusammengefasst wird: Eine vollständige Liste der Methoden 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');

Beinhalten Sie hauptsächlich die folgende Methode.

1 array_reduceFunktionsmethode

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

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

Da die Funktion array_merge Arrays mit demselben Zeichenfolgenschlüssel überschreibt und zusammenführt name , daher müssen Sie zuerst array_value verwenden, um den Wert abzurufen, und ihn dann zusammenführen.

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_recursiveFunktionsmethode

Die 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 es zu:

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

3 array_map-Funktionsmethode

Verwendung array_mapDie Methode ähnelt der Funktion array_reduce wie folgt:

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

muss lediglich ein leeres $result-Array deklarieren.

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

Empfohlenes Tutorial: „PHP-Tutorial

Das obige ist der detaillierte Inhalt vonWelche Funktionen gibt es zum Konvertieren eines zweidimensionalen PHP-Arrays in ein eindimensionales Array?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
php
Quelle:php.cn
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