Heim  >  Artikel  >  Backend-Entwicklung  >  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
PHPzOriginal
2023-04-23 16:47:001202Durchsuche

Bei der Entwicklung mit PHP müssen wir normalerweise ein zweidimensionales Array in ein eindimensionales Array konvertieren. Diese Anforderung kommt in der tatsächlichen Entwicklung sehr häufig vor. Für einige Daten, die berechnet werden müssen, wird das abgefragte zweidimensionale Array normalerweise in ein eindimensionales Array umgewandelt, was unsere Berechnungen erleichtert .

In PHP ist die Methode zum Konvertieren eines zweidimensionalen Arrays in ein eindimensionales Array sehr einfach und kann mit der Funktion array_column() durchgeführt werden. Schauen wir uns die Verwendung der Funktion array_column() genauer an.

Grundlegende Verwendung der Funktion array_column()

Die grundlegende Syntax der Funktion array_column() lautet wie folgt:

array array_column( array $ Eingabe, gemischt $ Column_key [, gemischt $index_key ] )

Diese Funktion akzeptiert drei Parameter, wobei der Parameter $input das zu konvertierende Array angibt, der Parameter $column_key den Spaltennamen oder Schlüsselnamen angibt in ein eindimensionales Array umgewandelt werden, $ Der Parameter index_key ist optional und wird zur Darstellung des Schlüsselnamens im neuen Array verwendet. Wenn er nicht angegeben wird, wird ein numerischer Index verwendet.

Zum Beispiel haben wir ein zweidimensionales Array wie folgt:

$users = array(

array('id' => 1, 'name' => 'Tom', 'age' => 20),
array('id' => 2, 'name' => 'Jerry', 'age' => 18),
array('id' => 3, 'name' => 'Lucy', 'age' => 22)

);

# 🎜🎜# Wir können die Funktion array_column() verwenden, um es in ein eindimensionales Array umzuwandeln:

$names = array_column($users, 'name');

Das konvertierte Ergebnis ist:

array('Tom', 'Jerry', 'Lucy')

Im obigen Beispiel haben wir das Namensfeld im $users-Array konvertiert in ein neues eindimensionales Array.

In der tatsächlichen Entwicklung müssen wir möglicherweise mehrere Felder gleichzeitig in eindimensionale Arrays konvertieren. In diesem Fall können wir mehrere Felder jeweils in eindimensionale Arrays konvertieren und sie dann zusammenfügen . Der folgende Code konvertiert beispielsweise sowohl die Felder „Name“ als auch „Alter“ in eindimensionale Arrays:

$names = array_column($users, 'name');

$ages = array_column( $users, ' age');
$info = array_merge($names, $ages);

Das konvertierte Ergebnis ist:

array('Tom' , 'Jerry', 'Lucy', 20, 18, 22)

Im obigen Beispiel haben wir die Arrays $name und $ages zusammengefügt, um ein neues eindimensionales Array zu erhalten.

Erweiterte Verwendung der Funktion array_column()

Zusätzlich zu der oben vorgestellten grundlegenden Verwendung verfügt die Funktion array_column() auch über einige erweiterte Verwendungsmöglichkeiten, die wir im Folgenden einzeln vorstellen .

    Ursprüngliches Array als Index
Manchmal müssen wir zu diesem Zeitpunkt ein Feld im ursprünglichen Array als Index des neuen Arrays verwenden , wir Beim Aufruf der Funktion array_column() können Sie den dritten Parameter $index_key als Feldnamen im ursprünglichen Array angeben. Um beispielsweise das ID-Feld im obigen $users-Array als Index des neuen Arrays zu verwenden, können Sie Folgendes tun:

$users = array(

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

$ name = array_column($users, 'name', 'id');

Das konvertierte Ergebnis ist:

array(1 => 'Tom', 2 = > 'Jerry', 3 => 'Lucy')

Sie können sehen, dass der Schlüsselname des neuen Arrays das ID-Feld im ursprünglichen Array ist.

    Verarbeitung mehrdimensionaler Arrays
In der tatsächlichen Entwicklung kann es vorkommen, dass wir in diesem Fall mehrdimensionale Arrays verarbeiten müssen , können wir die Funktion array_map() verwenden, um jedes zweidimensionale Array in ein eindimensionales Array umzuwandeln und sie dann mit der Funktion array_merge() zusammenzufügen, um ein neues eindimensionales Array zu erhalten. Zum Beispiel:

$users = array(

array('id' => 1, 'name' => array('first' => 'Tom', 'last' => 'Smith'), 'age' => 20),
array('id' => 2, 'name' => array('first' => 'Jerry', 'last' => 'Brown'), 'age' => 18),
array('id' => 3, 'name' => array('first' => 'Lucy', 'last' => 'Johnson'), 'age' => 22)
);

$names = array_map(function($user) {

return $user['name']['first'] . ' ' . $user['name']['last'];
#🎜🎜 # }, $users);$ages = array_column($users, 'age');

$info = array_merge($names, $ages);

Converted The Ergebnis ist:

array('Tom Smith', 'Jerry Brown', 'Lucy Johnson', 20, 18, 22)

Wie Sie sehen können, werden wir $ Benutzer Wenn Sie das Namensfeld im Array in ein eindimensionales Array konvertieren, müssen Sie jedes zweidimensionale Array mit der Funktion array_map () in ein eindimensionales Array konvertieren und diese dann mit der Funktion array_merge () verbinden zusammen.

Zusammenfassung

Anhand der Einleitung dieses Artikels können wir sehen, dass die Konvertierung eines zweidimensionalen Arrays in ein eindimensionales Array in PHP sehr einfach ist. Verwenden Sie einfach array_column () Funktion. Wenn Sie mehrere Felder in ein eindimensionales Array konvertieren müssen, können Sie die Funktion array_column() mehrmals verwenden und sie dann zusammenfügen. Wenn Sie ein Feld im ursprünglichen Array indizieren müssen, können Sie beim Aufruf der Funktion array_column() den dritten Parameter angeben. Wenn Sie mehrdimensionale Arrays verarbeiten müssen, können Sie jedes zweidimensionale Array mit der Funktion array_map() konvertieren Array in eine Dimension umwandeln und diese dann mit der Funktion array_merge() zusammenfügen.

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!

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