Heim > Backend-Entwicklung > PHP-Problem > So konvertieren Sie ein 2D-Array mit PHP in ein 1D-Array

So konvertieren Sie ein 2D-Array mit PHP in ein 1D-Array

PHPz
Freigeben: 2023-04-25 09:51:51
Original
1104 Leute haben es durchsucht

In PHP ist ein zweidimensionales Array ein Array, das aus mehreren eindimensionalen Arrays besteht, was eine sehr häufige Datenstruktur in der Programmierung ist. In einigen spezifischen Szenarien müssen wir jedoch möglicherweise ein zweidimensionales Array in ein eindimensionales Array konvertieren, um die Verwendung und Verarbeitung des Programms zu erleichtern.

Jetzt zeige ich Ihnen, wie Sie mit PHP ein zweidimensionales Array in ein eindimensionales Array konvertieren.

1. Verwenden Sie die foreach-Schleife

Die gebräuchlichste Methode besteht darin, jedes Element des zweidimensionalen Arrays zu extrahieren und in einem neuen eindimensionalen Array zu speichern.

$array = array(
    array('id' => 1, 'name' => 'Tom'),
    array('id' => 2, 'name' => 'Jerry')
);

$newArray = array();
foreach ($array as $value) {
    foreach ($value as $val) {
        $newArray[] = $val;
    }
}
print_r($newArray);
Nach dem Login kopieren

Ausgabeergebnis:

Array (
    [0] => 1
    [1] => Tom
    [2] => 2
    [3] => Jerry
)
Nach dem Login kopieren
Nach dem Login kopieren

2. Verwenden Sie die Funktion array_reduce

Wir können auch die Funktion array_reduce von PHP verwenden, um zweidimensionale Arrays zu verarbeiten.

$array = array(
    array('id' => 1, 'name' => 'Tom'),
    array('id' => 2, 'name' => 'Jerry')
);

$newArray = array_reduce($array, function ($result, $item) {
    return array_merge($result, array_values($item));
}, array());

print_r($newArray);
Nach dem Login kopieren

Ausgabeergebnis:

Array (
    [0] => 1
    [1] => Tom
    [2] => 2
    [3] => Jerry
)
Nach dem Login kopieren
Nach dem Login kopieren

3. Verwenden Sie die Funktion array_column

Wenn wir nur eine bestimmte Spalte im zweidimensionalen Array extrahieren müssen, können wir die Funktion array_column von PHP verwenden.

$array = array(
    array('id' => 1, 'name' => 'Tom', 'age' => 18),
    array('id' => 2, 'name' => 'Jerry', 'age' => 20)
);

$newArray = array_column($array, 'name');
print_r($newArray);
Nach dem Login kopieren

Ausgabeergebnis:

Array (
    [0] => Tom
    [1] => Jerry
)
Nach dem Login kopieren

4. Verwenden Sie die Funktion, um das Array rekursiv zu konvertieren.

Wenn die Abmessungen des verschachtelten zweidimensionalen Arrays nicht festgelegt sind, können wir die rekursive Funktion zum Konvertieren verwenden.

$array = array(
    array('id' => 1, 'name' => 'Tom', 'languages' => array('PHP', 'Java')),
    array('id' => 2, 'name' => 'Jerry', 'languages' => array('Python', 'C++'))
);

function convert($array) {
    $newArray = array();
    foreach ($array as $value) {
        if (is_array($value)) {
            $newArray = array_merge($newArray, convert($value));
        } else {
            $newArray[] = $value;
        }
    }
    return $newArray;
}

$newArray = convert($array);
print_r($newArray);
Nach dem Login kopieren

Ausgabeergebnis:

Array (
    [0] => 1
    [1] => Tom
    [2] => PHP
    [3] => Java
    [4] => 2
    [5] => Jerry
    [6] => Python
    [7] => C++
)
Nach dem Login kopieren

Die oben genannten Methoden zum Konvertieren eines zweidimensionalen Arrays in ein eindimensionales Array können die Effizienz und Lesbarkeit des Codes erheblich verbessern.

Das obige ist der detaillierte Inhalt vonSo konvertieren Sie ein 2D-Array mit PHP in ein 1D-Array. 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