Heim > Backend-Entwicklung > PHP-Problem > So konvertieren Sie ein zweidimensionales Array in ein eindimensionales Array in PHP

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

PHPz
Freigeben: 2023-04-23 10:29:16
Original
1512 Leute haben es durchsucht

Bei der Durchführung einiger Array-Verarbeitungsvorgänge ist es manchmal erforderlich, mehrdimensionale Arrays in eindimensionale Arrays umzuwandeln. In diesem Artikel werden einige Methoden zum Konvertieren zweidimensionaler Arrays in eindimensionale Arrays in PHP vorgestellt.

Methode 1: Schleifendurchlauf

Eine einfache Methode besteht darin, eine foreach-Schleife zu verwenden, um ein zweidimensionales Array zu durchlaufen und seine Elemente einem eindimensionalen Array hinzuzufügen.

function array2To1($arr2){
    $arr1 = array();
    foreach($arr2 as $v){
        foreach($v as $v2){
            $arr1[] = $v2;
        }
    }
    return $arr1;
}
Nach dem Login kopieren

Anwendungsbeispiel:

$arr2 = array(array(1,2),array(3,4),array(5,6));
$arr1 = array2To1($arr2);
print_r($arr1);
// Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 )
Nach dem Login kopieren
Nach dem Login kopieren

Methode 2: Rekursion

Eine weitere häufig verwendete Methode besteht darin, mithilfe der Rekursion mehrdimensionale Arrays zu verarbeiten und sie Schicht für Schicht in eindimensionale Arrays zu schälen.

function array2To1($arr2){
    $arr1 = array();
    foreach($arr2 as $v){
        if(is_array($v)){
            $arr1 = array_merge($arr1,array2To1($v));
        }else{
            $arr1[] = $v;
        }
    }
    return $arr1;
}
Nach dem Login kopieren

Verwendungsbeispiel:

$arr2 = array(array(1,2),3,array(array(4,5),6),7);
$arr1 = array2To1($arr2);
print_r($arr1);
// Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 [6] => 7 )
Nach dem Login kopieren

Methode 3: Integrierte PHP-Funktionen verwenden

PHP bietet einige integrierte Funktionen zur Verarbeitung mehrdimensionaler Arrays, darunter array_reduce(), array_merge_recursive() und call_user_func_array() usw.

function array2To1($arr2){
    return call_user_func_array('array_merge_recursive', $arr2);
}
Nach dem Login kopieren

Anwendungsbeispiel:

$arr2 = array(array(1,2),array(3,4),array(5,6));
$arr1 = array2To1($arr2);
print_r($arr1);
// Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 )
Nach dem Login kopieren
Nach dem Login kopieren

Nach dem eigentlichen Test ist die Verwendung von Methode drei zeitaufwändiger, daher wird diese Methode bei der Verarbeitung großer Arrays nicht empfohlen.

Zusammenfassung:

Jede Methode hat ihre eigenen Vor- und Nachteile, und welche Methode man wählt, hängt letztendlich von den spezifischen Bedürfnissen und Szenarien ab. Ich hoffe, dass dieser Artikel für Sie hilfreich sein kann. Wenn Sie eine bessere Methode haben, teilen Sie sie bitte im Kommentarbereich.

Das obige ist der detaillierte Inhalt vonSo konvertieren Sie ein zweidimensionales Array in ein eindimensionales Array in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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