Heim > Backend-Entwicklung > PHP-Problem > PHP-Array-Änderungsschlüssel

PHP-Array-Änderungsschlüssel

王林
Freigeben: 2023-05-06 09:01:07
Original
738 Leute haben es durchsucht

Array ist in PHP ein sehr leistungsfähiger Datentyp, der mehrere Werte speichern und mithilfe von Schlüssel-Wert-Paaren organisieren kann. Manchmal müssen wir während der Programmierung die Schlüssel eines vorhandenen Arrays ändern. In diesem Fall können wir einige in PHP bereitgestellte Funktionen verwenden, um diese Aufgabe abzuschließen.

1. Verwenden Sie die Funktion array_combine()

Wenn wir die Schlüssel eines Arrays in Werte umwandeln müssen, können wir die Funktion array_flip() verwenden. Umgekehrt können wir zum Konvertieren von Werten in Schlüssel die Funktion array_combine() verwenden. Die Funktion

array_combine() akzeptiert zwei Arrays als Parameter, die den neuen Schlüsselnamen bzw. den neuen Wert darstellen. Das neue Schlüsselarray muss ein Indexarray sein, während das neue Wertearray ein Array beliebigen Typs sein kann. Wenn die Anzahl der Elemente in den beiden Arrays inkonsistent ist, wird false zurückgegeben.

Das folgende Beispiel zeigt, wie Sie die Funktion array_combine() verwenden, um die Schlüssel eines Arrays zu ändern:

// 原始数组
$originalArray = array(
    'name' => 'John',
    'age' => 35,
    'gender' => 'male'
);

// 新键名数组
$newKeysArray = array(
    'person_name',
    'person_age',
    'person_gender'
);

// 使用array_combine()更改键名
$newArray = array_combine($newKeysArray, $originalArray);

// 输出新的数组
var_dump($newArray);
Nach dem Login kopieren

Die Ausgabe lautet wie folgt:

array(3) {
  ["person_name"]=>
  string(4) "John"
  ["person_age"]=>
  int(35)
  ["person_gender"]=>
  string(4) "male"
}
Nach dem Login kopieren

In diesem Beispiel definieren wir zunächst das ursprüngliche Array $originalArray. Dann erstellen wir ein neues Array $newKeysArray, das die neuen Schlüsselnamen enthält. Schließlich verwenden wir die Funktion array_combine(), um die neuen Schlüsselnamen und die Werte des ursprünglichen Arrays in einem neuen Array $newArray zu kombinieren.

2. Verwenden Sie die Funktion array_map().

Die Funktion array_map() ist eine weitere sehr nützliche Funktion in PHP. Sie kann eine Callback-Funktion auf alle Elemente in einem Array anwenden. Die Rückruffunktion muss einen Parameter akzeptieren, der das Element im Eingabearray darstellt. In der Callback-Funktion können wir die Elemente verarbeiten und die verarbeiteten Ergebnisse zurückgeben. Schließlich gibt die Funktion array_map() ein neues Array zurück, das alle verarbeiteten Elemente enthält.

Beachten Sie, dass bei Verwendung der Funktion array_map() die Schlüssel des Eingabearrays im Ausgabearray beibehalten werden.

Hier ist ein Beispiel, das zeigt, wie man die Funktion array_map() verwendet, um die Schlüssel eines Arrays zu ändern:

// 原始数组
$originalArray = array(
    'name' => 'John',
    'age' => 35,
    'gender' => 'male'
);

// 使用array_map()更改键名
$newArray = array_map(function($value) {
    $newKey = str_replace('_', ' ', $value);
    $newKey = ucwords($newKey);
    $newKey = str_replace(' ', '', $newKey);
    return $newKey;
}, array_keys($originalArray), array_fill(0, count($originalArray), null));

$newArray = array_combine($newArray, $originalArray);

// 输出新的数组
var_dump($newArray);
Nach dem Login kopieren

In diesem Beispiel definieren wir eine anonyme Funktion, die den Namen des Eingabeschlüssels zurückgibt, nachdem sie mit einigen String-Funktionen verarbeitet wurde. Wir verwenden die Funktion array_keys(), um alle Schlüssel des ursprünglichen Arrays abzurufen, und verwenden dann die Funktion array_fill(), um ein Array mit der gleichen Länge wie das Schlüsselarray zu generieren, damit wir diese beiden Arrays an array_map( übergeben können. ) Funktion. Schließlich kombinieren wir das verarbeitete Schlüsselnamen-Array und den ursprünglichen Array-Wert zu einem neuen Array und schließen so die Änderung des Schlüsselnamens ab.

3. Verwenden Sie die foreach-Schleife

Schließlich können wir die foreach-Schleife verwenden, um das ursprüngliche Array zu durchlaufen und ein neues Array mit neuen Schlüsselnamen zu erstellen. Während des Durchlaufvorgangs müssen wir die Schlüssel und Werte des ursprünglichen Arrays den Variablen $key bzw. $value zuweisen und dann ein neues Array-Element mit dem neuen Schlüsselnamen $newKey erstellen. Am Ende des Durchlaufs erhalten wir ein völlig anderes Array, in dem die Schlüsselnamen geändert wurden.

Hier ist ein Beispiel, das zeigt, wie man eine foreach-Schleife verwendet, um die Schlüssel eines Arrays zu ändern:

// 原始数组
$originalArray = array(
    'name' => 'John',
    'age' => 35,
    'gender' => 'male'
);

// 新键名
$newKeys = array(
    'person_name',
    'person_age',
    'person_gender'
);

// 使用foreach循环更改键名
$newArray = array();
foreach($originalArray as $key => $value) {
    $newKey = $newKeys[$key];
    $newArray[$newKey] = $value;
}

// 输出新的数组
var_dump($newArray);
Nach dem Login kopieren

In diesem Beispiel definieren wir zuerst das ursprüngliche Array $originalArray und ein neues Array mit Schlüsselnamen $newKeys. Anschließend verwenden wir eine foreach-Schleife, um das ursprüngliche Array zu durchlaufen. In jeder Schleife suchen wir den entsprechenden neuen Schlüsselnamen $neKey im neuen Schlüsselnamen-Array basierend auf dem Schlüssel $key des aktuellen Zyklus und erstellen dann ein neues Array-Element $newArray[$newKey] = $value. Nachdem die Schleife endet, erhalten wir ein neues Array $newArray, in dem die Schlüsselnamen geändert wurden.

Das obige ist der detaillierte Inhalt vonPHP-Array-Änderungsschlüssel. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage