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) );
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);
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);
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);
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
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));
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));
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); }
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!