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
PHPzOriginal
2023-04-23 10:23:24875Durchsuche

In PHP ist Array ein sehr häufiger und wichtiger Datentyp. Arrays können in eindimensionale, zweidimensionale und mehrdimensionale Formen unterteilt werden. In diesem Artikel erfahren Sie, wie Sie ein 2D-Array in ein 1D-Array konvertieren.

Eindimensionales Array und zweidimensionales Array

In PHP ist ein eindimensionales Array ein Array mit nur einer Dimension. Die Elemente können beliebige Datentypen sein, z. B. Zahlen, Zeichenfolgen, Objekte usw.

Zum Beispiel:

$array1 = array("dog", "cat", "horse", "cow");

Dieses Array enthält 4 Elemente, jedes Element sind Daten vom Typ String.

Ein zweidimensionales Array bezieht sich auf ein Array, das zwei Dimensionen enthält. Die innersten Elemente des Arrays müssen vom gleichen Datentyp sein.

Zum Beispiel:

$array2 = array(
   array("dog", "puppy"),
   array("cat", "kitten"),
   array("horse", "foal"),
   array("cow", "calf")
);

Dieses zweidimensionale Array enthält 4 Elemente, jedes Element ist ein Unterarray mit 2 Elementen. Jedes Subarray enthält ein Element vom Typ String und ein Element vom Typ String.

So konvertieren Sie ein zweidimensionales Array in ein eindimensionales Array

Wenn wir Daten verarbeiten müssen, müssen wir häufig ein zweidimensionales Array in ein eindimensionales Array konvertieren. PHP bietet eine Vielzahl von Methoden, um diese Aufgabe auszuführen. Im Folgenden finden Sie drei Methoden:

Methode 1: Verwenden Sie die „foreach“-Schleife zum Durchlaufen.

Zunächst können wir die foreach-Schleife verwenden, um die Elemente im zweidimensionalen Array zu durchlaufen , und dann jedes Element Einfügen in ein neues eindimensionales Array.

Hier ist der Beispielcode:

$array2 = array(
   array("dog", "puppy"),
   array("cat", "kitten"),
   array("horse", "foal"),
   array("cow", "calf")
);

//创建一个新的一维数组
$array1 = array();

//遍历二维数组并插入一维数组中
foreach($array2 as $value) {
   foreach($value as $element) {
      array_push($array1, $element);
   }
}

//打印结果
print_r($array1);

Im obigen Code haben wir zwei foreach-Schleifen verwendet, um die Elemente im zweidimensionalen Array zu durchlaufen und jedes Element in das Array einzufügen. Das endgültige gedruckte Ergebnis ist ein eindimensionales Array.

Methode 2: Verwenden Sie die Funktion „array_reduce()“

Eine andere Methode ist die Verwendung der Funktion „array_reduce()“ von PHP, die auch ein zweidimensionales Array in ein eindimensionales Array konvertieren kann.

Das Folgende ist ein Beispielcode:

$array2 = array(
   array("dog", "puppy"),
   array("cat", "kitten"),
   array("horse", "foal"),
   array("cow", "calf")
);

//调用array_reduce()函数
$array1 = array_reduce($array2, 'array_merge', array());

//打印结果
print_r($array1);

Im obigen Code verwenden wir die PHP-Funktion „array_reduce()“ und übergeben ihr drei Parameter: $array2 stellt das zweidimensionale Array dar, das konvertiert werden muss, und „array_merge“ stellt eine Rückruffunktion dar, die zum Einfügen jedes Unterarrays in ein eindimensionales Array verwendet wird. array() stellt ein eindimensionales Array mit dem Anfangswert leer dar. Das von der Funktion zurückgegebene Ergebnis ist ein Array, das in ein eindimensionales Array konvertiert wurde.

Methode 3: Verwenden Sie die Funktion „array_walk_recursive()“

Die letzte Methode besteht darin, die Funktion „array_walk_recursive()“ zu verwenden, die uns helfen kann, alle Elemente im zweidimensionalen Array zu durchlaufen und dann jedes Element in ein einzufügen neu in einem eindimensionalen Array.

Das Folgende ist der Beispielcode:

$array2 = array(
   array("dog", "puppy"),
   array("cat", "kitten"),
   array("horse", "foal"),
   array("cow", "calf")
);

//创建一个新的一维数组
$array1 = array();

//调用array_walk_recursive()函数
function convert($value, $key, &$array1) {
   array_push($array1, $value);
}
array_walk_recursive($array2, 'convert', $array1);

//打印结果
print_r($array1);

Im obigen Code erstellen wir zunächst ein leeres Array als eindimensionales Zielarray und rufen dann die Funktion „array_walk_recursive()“ auf, um das zweidimensionale Array zu durchlaufen. Der erste Parameter der Funktion stellt das Array dar, das durchlaufen werden muss, der zweite Parameter ist eine Rückruffunktion, mit der jedes durchlaufene Element in das eindimensionale Array eingefügt wird, und der dritte Parameter ist das eindimensionale Zielarray. Der Rückgabewert der Funktion ist ungültig, daher besteht keine Notwendigkeit, das Rückgabeergebnis einer Variablen zuzuweisen.

Zusammenfassung

Mit den oben genannten drei Methoden können wir ein zweidimensionales Array bequemer in ein eindimensionales Array umwandeln. Es ist ersichtlich, dass Arrays in PHP ein sehr häufig verwendeter Datentyp sind und es sehr wichtig ist, die entsprechenden Fähigkeiten zu beherrschen.

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