Heim  >  Artikel  >  Backend-Entwicklung  >  PHP ändert den Array-Schlüsselnamen

PHP ändert den Array-Schlüsselnamen

PHPz
PHPzOriginal
2023-05-19 19:39:371176Durchsuche

PHP ist eine häufig verwendete serverseitige Programmiersprache zum Erstellen dynamischer Webseiten. In PHP ist ein Array eine sehr nützliche Datenstruktur, die zum Speichern einer Reihe zusammengehöriger Daten verwendet wird. In der tatsächlichen Entwicklung müssen wir häufig die Schlüsselnamen von Arrays ändern, um bessere Datenverarbeitungseffekte zu erzielen.

Im Allgemeinen ist der Schlüsselname eines PHP-Arrays standardmäßig eine Zeichenfolge, die aus Zahlen und Buchstaben besteht. Wenn der Schlüsselname des Arrays ungeeignet ist, kann dies Auswirkungen auf unsere Verwendung des Arrays haben. Wenn wir beispielsweise ein Array in einer bestimmten Reihenfolge sortieren müssen, können ungeeignete Schlüsselnamen zu Problemen mit den sortierten Ergebnissen führen.

PHP bietet eine Vielzahl von Methoden zum Ändern der Schlüsselnamen von Arrays. In diesem Artikel werden einige der am häufigsten verwendeten Methoden vorgestellt.

Methode 1: Verwenden Sie die Funktion array_combine().

Die Funktion array_combine() wird verwendet, um den Wert eines Arrays als Schlüsselnamen des neuen Arrays und den Wert des anderen Arrays als Elementwert des neuen Arrays zu verwenden. Mit dieser Funktion können wir den Schlüsselnamen des Arrays ändern.

Das Folgende ist ein Beispiel, das zeigt, wie die Funktion array_combine() verwendet wird, um den Schlüsselnamen eines Arrays zu ändern:

$old_array = array(
    'a' => 'apple',
    'b' => 'banana',
    'c' => 'cherry'
);

$new_keys = array(
    'apple', 'banana', 'cherry'
);

$new_array = array_combine($new_keys, array_values($old_array));

print_r($new_array);

In diesem Beispiel definieren wir zunächst ein $old_array-Array, wobei die Schlüsselnamen a, b, und c, und die Elemente sind Die Werte sind jeweils Apfel, Banane und Kirsche. Dann definieren wir ein $new_keys-Array, das die neuen Schlüsselnamen enthält. Schließlich verwenden wir die Funktion array_combine(), um die Elemente im Array $new_keys als Schlüsselnamen des neuen Arrays und die Elemente im Array $old_array als Elementwerte des neuen Arrays zu verwenden und die Ergebnisse zu speichern das $new_array-Array.

Führen Sie den obigen Code aus. Das Ausgabeergebnis lautet wie folgt:

Array
(
    [apple] => apple
    [banana] => banana
    [cherry] => cherry
)

Sie können sehen, dass der Schlüsselname des Arrays $new_array erfolgreich auf die Elemente im Array $new_keys geändert wurde.

Es ist zu beachten, dass Sie bei Verwendung der Funktion array_combine() zum Ändern des Array-Schlüsselnamens sicherstellen müssen, dass die Anzahl der Elemente im Array $new_keys mit der Anzahl der Elemente im Array $old_array übereinstimmt. Andernfalls wird die Fehlermeldung „Beide Arrays müssen die gleiche Länge haben“ ausgegeben.

Methode 2: Verwenden Sie die Funktion array_flip()

Die Funktion array_flip() wird verwendet, um die Schlüssel und Werte des Arrays auszutauschen. Mit dieser Funktion können wir den Schlüsselnamen des Arrays ändern.

Das Folgende ist ein Beispiel, das zeigt, wie die Funktion array_flip() verwendet wird, um den Schlüsselnamen eines Arrays zu ändern:

$old_array = array(
    'a' => 'apple',
    'b' => 'banana',
    'c' => 'cherry'
);

$new_keys = array(
    'apple', 'banana', 'cherry'
);

$new_array = array_flip($old_array);

foreach ($new_array as &$value) {
    $value = $new_keys[$value];
}

$new_array = array_flip($new_array);

print_r($new_array);

In diesem Beispiel definieren wir zuerst ein $old_array-Array, wobei die Schlüsselnamen a, b, und c, und die Elemente sind Die Werte sind jeweils Apfel, Banane und Kirsche. Dann definieren wir ein $new_keys-Array, das die neuen Schlüsselnamen enthält. Als nächstes verwenden wir die Funktion array_flip(), um die Schlüssel und Werte im Array $old_array auszutauschen. Verwenden Sie dann eine foreach-Schleife, um die Werte im ausgetauschten Array durch die Elementwerte im $new_keys-Array zu ersetzen. Verwenden Sie abschließend die Funktion array_flip(), um die Schlüssel und Werte des ausgetauschten Arrays erneut auszutauschen, um das erforderliche neue Array zu erhalten.

Führen Sie den obigen Code aus. Das Ausgabeergebnis lautet wie folgt:

Array
(
    [apple] => apple
    [banana] => banana
    [cherry] => cherry
)

Sie können sehen, dass der Schlüsselname des Arrays $new_array erfolgreich auf die Elemente im Array $new_keys geändert wurde.

Es ist zu beachten, dass Sie bei Verwendung der Funktion array_flip() zum Austauschen der Schlüssel und Werte des Arrays sicherstellen müssen, dass der Wert im Array $array eindeutig ist. Andernfalls sind die Ergebnisse aufgrund von Schlüsselwertkonflikten ungenau.

Methode 3. Verwenden Sie die Funktion array_map()

Die Funktion array_map() wird verwendet, um eine Funktion auf die Elemente in einem oder mehreren Arrays anzuwenden und das verarbeitete Array zurückzugeben. Mit dieser Funktion können wir den Schlüsselnamen des Arrays ändern.

Das Folgende ist ein Beispiel, das zeigt, wie Sie die Funktion array_map() verwenden, um den Schlüsselnamen eines Arrays zu ändern:

$old_array = array(
    'a' => 'apple',
    'b' => 'banana',
    'c' => 'cherry'
);

$new_keys = array(
    'apple', 'banana', 'cherry'
);

$new_array = array_map(function ($value) use ($old_array, $new_keys) {
    $new_key = array_search($value, $old_array);
    $new_key = $new_keys[$new_key];
    return array($new_key => $value);
}, $old_array);

$new_array = array_reduce($new_array, 'array_merge', array());

print_r($new_array);

In diesem Beispiel definieren wir zuerst ein $old_array-Array, wobei die Schlüsselnamen a, b, und c, und die Elemente sind Die Werte sind jeweils Apfel, Banane und Kirsche. Dann definieren wir ein $new_keys-Array, das die neuen Schlüsselnamen enthält. Als nächstes verwenden wir die Funktion array_map(), um eine anonyme Funktion auf jedes Element im Array $old_array anzuwenden. Die Funktion der anonymen Funktion besteht darin, den Schlüsselnamen des Elements durch den entsprechenden Elementwert im Array $new_keys zu ersetzen und das Ergebnis in einem neuen Array zu speichern. Schließlich verwenden wir die Funktion array_reduce(), um alle neu generierten Arrays zu einem neuen Array zusammenzufassen.

Führen Sie den obigen Code aus. Das Ausgabeergebnis lautet wie folgt:

Array
(
    [apple] => apple
    [banana] => banana
    [cherry] => cherry
)

Sie können sehen, dass der Schlüsselname des Arrays $new_array erfolgreich auf die Elemente im Array $new_keys geändert wurde.

Es ist zu beachten, dass wir bei Verwendung der Funktion array_map() zum Ändern des Schlüsselnamens des Arrays die Arrays zweimal zusammenführen müssen, was sich auf die Leistung auswirken kann. Daher wird empfohlen, diese Methode nur bei der Arbeit mit kleinen Arrays zu verwenden.

Zusammenfassung

In diesem Artikel werden drei häufig verwendete Methoden zum Ändern der Schlüsselnamen von PHP-Arrays vorgestellt, darunter die Verwendung der Funktionen array_combine(), array_flip() und array_map(). Jede Methode hat ihre eigenen Vor- und Nachteile, und Sie müssen sie entsprechend der jeweiligen Situation auswählen, wenn Sie sie verwenden. Es ist zu beachten, dass wir beim Ändern des Schlüsselnamens des Arrays berücksichtigen sollten, ob die Elemente im Array eindeutig sind und ob der neue Schlüsselname geeignet ist, um die Verwendung des Arrays nicht zu beeinträchtigen.

Das obige ist der detaillierte Inhalt vonPHP ändert den Array-Schlüsselnamen. 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