Heim >Backend-Entwicklung >PHP-Problem >So ändern Sie Schlüsselnamen in PHP-Arrays stapelweise

So ändern Sie Schlüsselnamen in PHP-Arrays stapelweise

PHPz
PHPzOriginal
2023-04-19 10:04:26626Durchsuche

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:

  1. array_combine(): Verwenden Sie den Wert eines Arrays als Schlüssel des neuen Arrays und den Wert des anderen Arrays als Wert von das neue Array; #🎜 🎜#
  2. array_keys(): Gibt alle Schlüsselnamen im Array zurück;
  3. array_values(): Gibt alle Werte im Array zurück; #
  4. array_map(): Gibt die Funktion an, die auf jedes Array-Element wirkt und ein neues Array zurückgibt. #
  5. array_walk(): Wendet eine benutzerdefinierte Funktion auf jedes Element im Array an.
  6. Nun gehen wir davon aus, dass es ein Array $arr gibt, das mehrere Elemente enthält, jedes Element hat einen numerischen Schlüsselnamen. Wir möchten sie in Zeichenfolgenschlüsselnamen umwandeln, z. B. „0“ durch „Apfel“ ersetzen, „1“ durch „Banane“ usw. ersetzen. Was also tun? Bitte schauen Sie sich den Code unten an:
  7. $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);
In diesem Code definieren wir zunächst ein $arr-Array und ein $key_names-Array, deren Anzahl an Elementen gleich ist. Als nächstes verwenden wir die Funktion array_combine(), um den Wert des Arrays $arr als Wert des neuen Arrays und den Wert des Arrays $key_names als Schlüssel des neuen Arrays zu verwenden. Schließlich drucken wir den Inhalt des neuen Arrays $new_arr über die Funktion print_r() aus und können das gewünschte Ergebnis sehen:

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!

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