Heim >Backend-Entwicklung >PHP-Problem >So ändern Sie den Schlüsselwert eines Arrays in PHP

So ändern Sie den Schlüsselwert eines Arrays in PHP

PHPz
PHPzOriginal
2023-04-27 09:11:22931Durchsuche

In der PHP-Entwicklung ist es oft notwendig, mit Arrays zu arbeiten. Der Schlüsselwert (auch Index genannt) im Array ist sehr wichtig. Manchmal müssen wir einige Schlüsselwerte im Array ändern, um den Geschäftsanforderungen gerecht zu werden. Als Nächstes werde ich einige Methoden zum Ändern des Schlüsselwerts des PHP-Arrays vorstellen.

1. Verwenden Sie die Funktion array_combine(). Die Funktion array_combine() kann zwei Arrays zu einem Array kombinieren. Der Schlüsselwert des ersten Arrays wird als Index des neuen Arrays verwendet, und der Wert des zweiten Arrays wird verwendet wird als Index des neuen Arrays verwendet. Damit können wir die Schlüsselwerte des Arrays ändern.

Angenommen, wir haben das folgende Array:

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

Jetzt wollen wir den Schlüsselwert von a in aa ändern. Sie können den folgenden Code verwenden:

$new_key = array('a' => 'aa');
$new_array = array_combine(array_replace(array_keys($old_array), $new_key), $old_array);

Hier definieren wir ein neues Array $new_key, der Schlüsselwert a sein soll geändert und der neue Schlüsselwert aa wird übergeben. Als nächstes verwenden wir die Funktion array_replace(), um den zu ändernden Schlüsselwert a zu extrahieren, übergeben ihn dann an die Funktion array_combine() und geben schließlich ein neues Array $new_array zurück.

2. Verwenden Sie die Funktion array_map(). Die Funktion array_map() kann jedes Element im Array zur Verarbeitung an die angegebene Rückruffunktion übergeben und ein neues Array zurückgeben. Wir können eine einfache Rückruffunktion definieren, um den Array-Schlüsselwert zu ändern.

Angenommen, wir haben das folgende Array:

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

Da wir nun den Schlüsselwert von b in bb ändern möchten, können wir den folgenden Code verwenden:

$new_array = array_map(function($key, $value) use ($old_array){
    if($key == 'b'){
        return array('bb' => $value);
    } else {
        return array($key => $value);
    }
}, array_keys($old_array), $old_array);
$new_array = array_merge(...$new_array);

Hier verwenden wir eine anonyme Funktion als Rückruffunktion der array_map( ) Funktion. In dieser anonymen Funktion ermitteln wir zunächst, ob der Schlüsselwert des aktuellen Elements gleich „b“ ist. Wenn gleich, ändern Sie den Schlüsselwert in „bb“ und geben Sie das aktuelle Element als Array zurück.

Abschließend verwenden wir die Funktion array_merge(), um die zurückgegebenen Arrays zu einem neuen Array zusammenzuführen.

3. Verwenden Sie die Funktion array_walk()

Die Funktion array_walk() kann jedes Element im Array bearbeiten und ein neues Array zurückgeben. Durch Überschreiben dieser Funktion können wir den Schlüsselwert von Array-Elementen ändern.

Ebenso gehen wir davon aus, dass wir das folgende Array haben:

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

Da wir nun den Schlüsselwert von c in cc ändern wollen, können wir den folgenden Code verwenden:

$new_array = array();
array_walk($old_array, function($value, $key) use ($old_array, &$new_array){
    if($key == 'c'){
        $new_array['cc'] = $value;
    } else {
        $new_array[$key] = $value;
    }
});

In diesem Beispiel definieren wir ein leeres Array $new_array um das geänderte Array zu speichern. Mit der Funktion array_walk() durchlaufen wir jedes Element im ursprünglichen Array $old_array.

In der Callback-Funktion ermitteln wir zunächst, ob der Schlüsselwert des aktuellen Elements gleich „c“ ist. Wenn es gleich ist, ändern Sie seinen Schlüsselwert in „cc“ und fügen Sie ihn dem neuen Array $new_array hinzu. Andernfalls wird das aktuelle Element direkt zum neuen Array $new_array hinzugefügt.

Schließlich erhalten wir ein neues Array $new_array, dessen Schlüsselwert c in cc geändert wurde.

Zusammenfassung

Die oben genannten drei Möglichkeiten, den Schlüsselwert eines PHP-Arrays zu ändern. In der tatsächlichen Entwicklung können wir entsprechend unseren Anforderungen die Methode auswählen, die am besten zu uns passt. Unabhängig davon, ob Sie die Funktion array_combine(), array_map() oder array_walk() verwenden, können Sie den Array-Schlüsselwert problemlos ändern.

Das obige ist der detaillierte Inhalt vonSo ändern Sie den Schlüsselwert eines Arrays in PHP. 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