Heim >Backend-Entwicklung >PHP-Problem >PHP zweidimensionales Array in ein eindimensionales Array unter Beibehaltung der Schlüsselnamen
In PHP ist Array ein sehr häufig verwendeter Datentyp. Ich glaube, dass viele PHP-Entwickler Arrays zum Speichern, Verarbeiten und Durchlaufen von Daten verwenden werden. In der tatsächlichen Entwicklung müssen wir manchmal ein mehrdimensionales Array in ein eindimensionales Array konvertieren und die Schlüsselnamen beibehalten. Diese Art von Operation kommt in der tatsächlichen Entwicklung recht häufig vor. In diesem Artikel wird erläutert, wie Sie mit PHP ein zweidimensionales Array in ein eindimensionales Array konvertieren und die Schlüsselnamen beibehalten.
1. Was ist ein PHP-Array?
Bevor wir mit der Einführung beginnen, wie man ein zweidimensionales Array in ein eindimensionales Array umwandelt, müssen wir verstehen, was ein Array in PHP ist. In PHP können Arrays zum Speichern einer Reihe von Werten verwendet werden. Diese Werte können von beliebigem Typ sein, z. B. Ganzzahlen, Gleitkommazahlen, Zeichenfolgen, Objekte usw. Jeder Wert im Array ist einem Schlüssel zugeordnet, der eine Zeichenfolge, eine Ganzzahl usw. sein kann. Im Vergleich zu anderen Sprachen sind die Arrays von PHP sehr flexibel und können eine Vielzahl von Anforderungen erfüllen.
Es gibt zwei Möglichkeiten, Arrays in PHP zu definieren. Eine Möglichkeit besteht darin, []“ zu verwenden, um beispielsweise Folgendes zu definieren:
$arr1 = [1, 2, 3]; $arr2 = ['name' => 'xiaoming', 'age' => 18];
Die andere Möglichkeit besteht darin, array() zu verwenden, um beispielsweise Folgendes zu definieren:
$arr3 = array(4, 5, 6); $arr4 = array('name' => 'xiaohuang', 'age' => 20);
Die Struktur des Arrays kann beispielsweise über die Funktion var_dump angezeigt werden :
var_dump($arr1); var_dump($arr2); var_dump($arr3); var_dump($arr4);
Das erhaltene Ausgabeergebnis lautet:
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3) } array(2) { ["name"]=> string(8) "xiaoming" ["age"]=> int(18) } array(3) { [0]=> int(4) [1]=> int(5) [2]=> int(6) } array(2) { ["name"]=> string(8) "xiaohuang" ["age"]=> int(20) }
Wie aus den Ausgabeergebnissen ersichtlich ist, sind $arr1 und $arr3 durch Zahlen indizierte Arrays und $arr2 und $arr4 sind assoziative Arrays um das zweidimensionale Array in ein eindimensionales Array umzuwandeln und den Schlüsselnamen beizubehalten
2. Konvertieren Sie ein zweidimensionales Array in ein eindimensionales Array -dimensionales Array wie folgt:
$students = array( array('name' => 'xiaoming', 'age' => 18, 'sex' => 'male'), array('name' => 'xiaohong', 'age' => 19, 'sex' => 'female'), array('name' => 'xiaozhang', 'age' => 20, 'sex' => 'male') );
Dieses zweidimensionale Array enthält drei Elemente. Jedes Element ist eine Schülerinformation. Zu den Informationen jedes Schülers gehören Name, Alter und Geschlecht. Jetzt müssen wir dieses zweidimensionale Array in ein eindimensionales umwandeln Array.
Sie können die foreach-Anweisung verwenden, um einen Array-Durchlauf zu implementieren, z. B.:
$newArr = array(); foreach($students as $student) { foreach($student as $key => $value) { $newArr[$key][] = $value; } }
Im obigen Code durchläuft die erste foreach-Schleife jedes Element im $students-Array, also die Informationen jedes Schülers Die foreach-Schleife durchläuft die Schlüssel-Wert-Paare in den Informationen jedes Schülers, d. h. Name, Alter und Geschlecht des Schülers. Bei jedem Durchlauf werden die durchlaufenen Schlüssel-Wert-Paare zu einem neuen eindimensionalen Array hinzugefügt Das schließlich erhaltene $newArr-Array lautet wie folgt:
array(3) { ["name"]=> array(3) { [0]=> string(8) "xiaoming" [1]=> string(8) "xiaohong" [2]=> string(9) "xiaozhang" } ["age"]=> array(3) { [0]=> int(18) [1]=> int(19) [2]=> int(20) } ["sex"]=> array(3) { [0]=> string(4) "male" [1]=> string(6) "female" [2]=> string(4) "male" } }
Sie können sehen, dass $newArr jedes Schlüssel-Wert-Paar im Array immer noch den Schlüsselnamen im ursprünglichen zweidimensionalen Array behält. Auf diese Weise müssen Sie operieren Bei einem bestimmten Schlüsselnamen können Sie dies problemlos tun
3. Die Bedeutung des Schlüsselnamens
Warum sollte der Schlüsselname zur Identifizierung eines bestimmten Werts verwendet werden? Durch die Beibehaltung des Schlüsselnamens können Sie mit dem Schlüsselnamen direkt auf einen bestimmten Wert zugreifen, ohne den erforderlichen Wert in einer Schleife zu finden. Darüber hinaus kann die Datenverarbeitung flexibler sein und Vorgänge wie Additionen durchgeführt werden , Löschen, Ändern und Abfragen können nach Bedarf durchgeführt werden
Wenn wir beispielsweise das Alter im obigen $newArr-Array ermitteln müssen, kann der Code wie folgt geschrieben werden:
echo $newArr['sex'][array_search(18, $newArr['age'])];
Wie aus dem obigen Code ersichtlich ist, können wir $newArr['age'] direkt verwenden, um die Altersinformationen des Schülers zu finden, da der Schlüsselname beibehalten wird, und die Funktion array_search verwenden, um den Indexwert mit einem Alter zu finden von 18, und verwenden Sie dann $newArr['sex'], um die Geschlechtsinformationen des Schülers zu finden. Diese Abfrage ist effizienter als die Verwendung einer Schleife, um sie zu finden. 4. Zusammenfassung: In diesem Artikel wird kurz beschrieben, wie PHP verwendet wird Um ein zweidimensionales Array in ein eindimensionales Array umzuwandeln und die Schlüsselnamen beizubehalten, ist die Datenverarbeitung komfortabler und die Abfragegeschwindigkeit effizienter. Bei der Datenverarbeitung sollten wir auf die Verwendung des Arrays achten . Die Schlüsselnamen werden zum Ausführen von Operationen verwendet, sodass die Lesbarkeit, Wartbarkeit und Skalierbarkeit des Codes verbessert werden
Das obige ist der detaillierte Inhalt vonPHP zweidimensionales Array in ein eindimensionales Array unter Beibehaltung der Schlüsselnamen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!