Heim >Backend-Entwicklung >PHP-Problem >So ändern Sie Schlüsselnamen in PHP-Arrays stapelweise
In PHP ist Array eine sehr praktische Datenstruktur, die mehrere Werte speichern und verarbeiten kann. In der tatsächlichen Entwicklung müssen wir jedoch häufig die Schlüsselnamen von Arrays stapelweise ändern. In diesem Fall müssen wir zum Abschluss die Array-bezogenen Funktionen verwenden.
Im Folgenden werde ich im Detail vorstellen, wie man Array-Schlüsselnamen in PHP stapelweise ändert. Konkret verwenden wir die folgende Funktion:
$arr = array('apple', 'banana', 'orange', 'peach', 'lemon'); $key_names = array('apple', 'banana', 'orange', 'peach', 'lemon'); $new_arr = array_combine($key_names, $arr); print_r($new_arr);
Array ( [apple] => apple [banana] => banana [orange] => orange [peach] => peach [lemon] => lemon )Auf diese Weise haben wir den Schlüsselnamen erfolgreich von a konvertiert Zahl zum String. Aber in manchen Fällen können unsere Bedürfnisse komplexer sein. Beispielsweise müssen wir alle Schlüsselnamen von Großbuchstaben in Kleinbuchstaben umwandeln. Zu diesem Zeitpunkt können wir die Funktionen array_keys() und array_map() verwenden, um dies zu erreichen. Der Code lautet wie folgt:
$arr = array( 'Apple' => 'red', 'Banana' => 'yellow', 'Orange' => 'orange', 'Peach' => 'pink', 'Lemon' => 'yellow' ); $lowercase_keys = array_map('strtolower', array_keys($arr)); $new_arr = array_combine($lowercase_keys, array_values($arr)); print_r($new_arr);In diesem Code definieren wir zunächst ein $arr-Array und schreiben den ersten Buchstaben seines Schlüsselnamens groß. Als nächstes verwenden wir die Funktion array_keys(), um alle Schlüssel des Arrays $arr zurückzugeben. Anschließend verwenden wir die Funktion array_map(), um die Funktion strtolower() auf jeden Schlüsselnamen anzuwenden und sie alle in Kleinbuchstaben umzuwandeln. Schließlich kombinieren wir den neuen Schlüsselnamen und den Wert des Arrays $arr mit der Funktion array_combine(), um ein neues Array $new_arr zu bilden. Verwenden Sie die Funktion print_r(), um den Inhalt des neuen Arrays $new_arr auszudrucken, und Sie können das geänderte Ergebnis sehen:
Array ( [apple] => red [banana] => yellow [orange] => orange [peach] => pink [lemon] => yellow )Auf diese Weise haben wir alle Schlüsselnamen erfolgreich in Kleinbuchstaben umgewandelt. Es ist zu beachten, dass bei Verwendung der Funktion array_combine() darauf geachtet werden muss, dass die Schlüsselnamen und die Anzahl der Werte des neuen Arrays gleich sind, da sonst ein Fehler auftritt. Hier verwenden wir die Funktion array_values(), um alle Werte des Arrays $arr abzurufen und sicherzustellen, dass ihre Anzahl mit der Anzahl des Arrays $lowercase_keys übereinstimmt. Natürlich dienen die oben genannten Methoden nur zur Demonstration. Bei der tatsächlichen Verwendung müssen Sie die geeigneten Funktionen und Methoden entsprechend der jeweiligen Situation auswählen. Zusätzlich zu den oben vorgestellten Methoden gibt es auch eine flexiblere Möglichkeit, nämlich die Funktion array_walk() zu verwenden. Diese Funktion kann die Rückruffunktion so anpassen, dass sie jedes Element im Array bearbeitet, sodass sie vielfältigere Anforderungen erfüllen kann. Nachfolgend implementieren wir ein einfaches Beispiel, um allen Schlüsselnamen im Array das Präfix „fruit_“ hinzuzufügen. Der Code lautet wie folgt:
$arr = array( 'apple' => 'red', 'banana' => 'yellow', 'orange' => 'orange', 'peach' => 'pink', 'lemon' => 'yellow' ); function add_prefix(&$value, $key, $prefix) { $value = $prefix . '_' . $key; } array_walk($arr, 'add_prefix', 'fruit'); print_r($arr);In diesem Code haben wir Zunächst wird ein $arr-Array und eine add_prefix()-Funktion definiert. Die Funktion add_prefix() verfügt über drei Parameter: den zu bearbeitenden Wert, den Schlüsselnamen des aktuellen Werts und das angegebene Präfix. Innerhalb der Funktion verketten wir den Schlüsselnamen und das Präfix des aktuellen Werts, um einen neuen Schlüsselnamen zu generieren und weisen ihn dem Schlüsselnamen des aktuellen Werts zu. Dann verwenden wir die Funktion array_walk(), um die Funktion add_prefix() auf jedes Element im Array $arr anzuwenden und geben schließlich das geänderte Array aus:
Array ( [fruit_apple] => red [fruit_banana] => yellow [fruit_orange] => orange [fruit_peach] => pink [fruit_lemon] => yellow )Auf diese Weise haben wir es erfolgreich implementiert Batch-Änderungen Operationen an Array-Schlüsselnamen. Im Allgemeinen gibt es in PHP viele integrierte Funktionen, die mit Arrays arbeiten können, und Sie können die am besten geeignete Methode entsprechend Ihren tatsächlichen Anforderungen auswählen.
Das obige ist der detaillierte Inhalt vonSo ändern Sie Schlüsselnamen in PHP-Arrays stapelweise. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!