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

Konvertieren Sie ein eindimensionales Array in ein zweidimensionales PHP-Array

WBOY
Freigeben: 2023-05-23 11:31:37
Original
1072 Leute haben es durchsucht

In PHP ist die Verarbeitung von Arrays eine der häufigsten Anforderungen. Manchmal müssen wir ein eindimensionales Array in ein zweidimensionales Array konvertieren. Dieser Prozess kann eine Vielzahl von Datenoperationen umfassen, was erfordert, dass wir Array-Funktionen flexibel verwenden, um die Konvertierung zu erreichen. In diesem Artikel werden einige Methoden und Techniken zum Konvertieren eindimensionaler Arrays in zweidimensionale Arrays in PHP vorgestellt.

1. Die Notwendigkeit, ein eindimensionales Array in ein zweidimensionales Array umzuwandeln

In PHP sind eindimensionale Arrays und zweidimensionale Arrays übliche Datenstrukturen. Ein eindimensionales Array ist ein Array mit nur einer Dimension und wird normalerweise zum Speichern einer Reihe verwandter Daten verwendet, beispielsweise der Testergebnisse eines Schülers. Ein zweidimensionales Array enthält ein Array mit zwei Dimensionen und wird normalerweise zum Speichern mehrerer Sätze verwandter Daten verwendet, beispielsweise der Testergebnisse aller Schüler einer Klasse. In PHP verwenden wir normalerweise die Array-Funktion, um eindimensionale Arrays zu erstellen, und die Array-Funktion der zweiten Ebene, um zweidimensionale Arrays zu erstellen. Hier ist ein einfaches Beispiel für die Erstellung eines eindimensionalen Arrays und eines zweidimensionalen Arrays:

$array1 = array("语文"=>85, "数学"=>90, "英语"=>88);
$array2 = array(
             array("姓名"=>"张三","语文"=>85,"数学"=>90,"英语"=>88),
             array("姓名"=>"李四","语文"=>89,"数学"=>92,"英语"=>86),
             array("姓名"=>"王五","语文"=>90,"数学"=>87,"英语"=>91),
             array("姓名"=>"赵六","语文"=>88,"数学"=>91,"英语"=>89)
          );
Nach dem Login kopieren

Manchmal stoßen wir auf Situationen, in denen wir ein eindimensionales Array in ein zweidimensionales Array konvertieren müssen. Beispielsweise müssen wir die Testergebnisse einer Gruppe von Schülern nach bestimmten Regeln gruppieren und sie dann in ein zweidimensionales Array umwandeln, um die spätere Verarbeitung oder Anzeige zu erleichtern. Dies ist die Notwendigkeit, ein eindimensionales Array in ein zweidimensionales Array umzuwandeln. Im Folgenden werden einige Implementierungsmethoden vorgestellt.

2. Verwenden Sie die Funktion array_chunk

Die Funktion array_chunk ist eine der integrierten Funktionen von PHP. Ihre Funktion besteht darin, ein eindimensionales Array in mehrere kleine Arrays bestimmter Längen aufzuteilen und diese kleinen Arrays dann in zwei neue zurückzugeben -dimensionales Array. Wir haben zum Beispiel das folgende eindimensionale Array:

$students_scores = array(85, 90, 88, 89, 92, 86, 90, 87, 91, 88, 91, 89);
Nach dem Login kopieren

Wir müssen dieses Array in 4er-Gruppen gruppieren und es dann in ein neues zweidimensionales Array umwandeln. Sie können die folgende Methode verwenden:

$grouped_scores = array_chunk($students_scores, 4);
Nach dem Login kopieren

Diese Methode wird Die Rückgabe einer Länge ist ein zweidimensionales Array mit 3 Elementen. Jedes kleine Array enthält 4 Elemente. Wenn die Länge des ursprünglichen Arrays kein ganzzahliges Vielfaches der Länge des kleinen Arrays ist, enthält das letzte kleine Array die restlichen Elemente. Wir können die Funktion var_dump verwenden, um die Ergebnisse anzuzeigen:

var_dump($grouped_scores);
Nach dem Login kopieren

Die laufenden Ergebnisse lauten wie folgt:

array (size=3)
  0 => 
    array (size=4)
      0 => int 85
      1 => int 90
      2 => int 88
      3 => int 89
  1 => 
    array (size=4)
      0 => int 92
      1 => int 86
      2 => int 90
      3 => int 87
  2 => 
    array (size=4)
      0 => int 91
      1 => int 88
      2 => int 91
      3 => int 89
Nach dem Login kopieren

Wie Sie sehen können, wird das ursprüngliche Array in drei kleine Arrays der Länge 4 unterteilt, und diese kleinen Arrays bilden dann ein neues zweidimensionales Array.

3. Verwenden Sie die Funktion array_map.

Die Funktion array_map ist eine der integrierten Funktionen von PHP. Ihre Funktion besteht darin, eine bestimmte Rückruffunktion auf jedes Element eines oder mehrerer Arrays anzuwenden. Mit der Funktion array_map können wir ein eindimensionales Array in ein zweidimensionales Array umwandeln. Die spezifische Methode lautet wie folgt:

function group_by($n, $array) {
   return array_chunk($array, $n);
}

$students_scores = array(85, 90, 88, 89, 92, 86, 90, 87, 91, 88, 91, 89);

$grouped_scores = array_map('group_by', array(4), array($students_scores));
Nach dem Login kopieren

Unter diesen wird die Funktion group_by verwendet, um ein eindimensionales Array in ein zweidimensionales Array der Länge $n$ zu gruppieren. Anschließend wenden wir diese Funktion mit der Funktion array_map auf das Array $students_scores$ an, wodurch ein neues 2D-Array entsteht. Wenn die zu teilenden Längen unterschiedlich sind, können Sie den ersten Parameter der Array-Funktion in ein Array mit einer Länge von $m$ ändern, wobei $m$ die zu teilende Länge ist. Der folgende Code teilt beispielsweise das ursprüngliche Array in ein zweidimensionales Array der Länge 3 und einer Länge von 4 auf:

$grouped_scores = array_map('group_by', array(3,4), array($students_scores));
Nach dem Login kopieren

4. Schleifendurchquerung verwenden

In PHP können wir Schleifendurchquerung verwenden, um ein eindimensionales Array zu konvertieren in In ein zweidimensionales Array konvertieren. Die spezifische Methode lautet wie folgt:

$students_scores = array(85, 90, 88, 89, 92, 86, 90, 87, 91, 88, 91, 89);

$grouped_scores = array();

for ($i = 0; $i < count($students_scores); $i += 4) {
    $grouped_scores[] = array_slice($students_scores, $i, 4);
}
Nach dem Login kopieren

Unter anderem wird die Funktion array_slice verwendet, um den angegebenen Teil eines Arrays abzurufen. Hier verwenden wir Schleifendurchlauf, um das ursprüngliche Array zu teilen, wobei wir jedes Mal 4 Elemente beginnend bei $i$ herausnehmen und sie dann als kleines Array zum Ergebnisarray hinzufügen.

5. Zusammenfassung

Es gibt viele Möglichkeiten, ein eindimensionales Array in ein zweidimensionales Array in PHP umzuwandeln. Am häufigsten wird die Funktion array_chunk oder die Implementierung einer Schleifendurchquerung verwendet. Die Funktion array_map ist außerdem eine flexiblere Methode und kann je nach Bedarf unterschiedliche Teilungslängen verwenden. In praktischen Anwendungen müssen wir je nach tatsächlicher Situation unterschiedliche Methoden auswählen, um den besten Konvertierungseffekt zu erzielen.

Das obige ist der detaillierte Inhalt vonKonvertieren Sie ein eindimensionales Array in ein zweidimensionales PHP-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