Heim >Backend-Entwicklung >PHP-Problem >So ändern Sie einen Wert in einem Array in PHP

So ändern Sie einen Wert in einem Array in PHP

PHPz
PHPzOriginal
2023-04-19 11:37:541114Durchsuche

In der PHP-Entwicklung ist das Betreiben von Arrays eine der häufig vorkommenden Operationen. Beim Betrieb eines Arrays müssen Sie manchmal einen Wert im Array ändern. Wie ändert man also in PHP einen Wert in einem Array? Im Folgenden wird es Ihnen im Detail vorgestellt.

1. Verwenden Sie eine for-Schleife, um das Array zu durchlaufen und den Wert zu ändern.

Die einfachste Methode besteht darin, eine for-Schleife zu verwenden, um das Array zu durchlaufen und den zu ändernden Wert zu ändern. Die spezifische Implementierung lautet wie folgt:

<?php
$arr = [1, 2, 3, 4, 5];
for($i = 0; $i < count($arr); $i++) {
    if($arr[$i] == 2) {
        $arr[$i] = 20;
    }
}
print_r($arr);
?>

Im obigen Code definieren wir ein Array $arr mit 5 Elementen, durchlaufen das Array dann durch eine for-Schleife und verwenden die if-Anweisung, um zu bestimmen, ob das Element gleich 2 ist. Wenn es 2 ist, ändern Sie es auf 20. Abschließend rufen wir die Funktion print_r() auf, um das geänderte Array auszugeben.

Es ist erwähnenswert, dass diese Methode nur für einen Wert im Array geeignet ist, der geändert werden muss. Wenn mehrere Werte geändert werden müssen, muss das Array mehrmals durchlaufen werden, und die Effizienz wird relativ gering.

2. Verwenden Sie die foreach-Schleife, um Array-Werte zu ändern.

Zusätzlich zur for-Schleife können wir auch die foreach-Schleife verwenden, um das Array zu durchlaufen und den Wert zu ändern. Die spezifische Implementierung ist wie folgt:

<?php
$arr = [
    [&#39;name&#39; => 'Tom', 'age' => 18],
    ['name' => 'Lucy', 'age' => 20],
    ['name' => 'John', 'age' => 22],
];

foreach($arr as &$val) {
    if($val['name'] == 'Lucy') {
        $val['age'] = 21;
    }
}

print_r($arr);
?>

Im obigen Code definieren wir ein zweidimensionales Array $arr mit 3 Elementen, wobei jedes Unterarray zwei Schlüssel-Wert-Paare enthält: Name und Alter. Wir können eine foreach-Schleife verwenden, um das Array zu durchlaufen, und eine if-Anweisung verwenden, um festzustellen, ob name gleich Lucy ist. Wenn es Lucy entspricht, ändern Sie das Alter auf 21. Hierbei ist zu beachten, dass wir das &-Symbol vor der Schleifenvariablen $val verwenden, um anzuzeigen, dass $val eine Referenz ist. Durch Ändern seines Werts wird der Wert im ursprünglichen Array direkt geändert.

3. Verwenden Sie die Funktion array_map(), um den Array-Wert zu ändern.

PHP bietet eine sehr praktische Funktion array_map(), die für jedes Element im Array eine Rückruffunktion ausführen kann. Mit dieser Funktion können wir einen Wert im Array einfach ändern.

<?php
$arr = [1, 2, 3, 4, 5];
$arr = array_map(function($val) {
    if($val == 2) {
        return 20;
    }
    return $val;
}, $arr);
print_r($arr);
?>

Im obigen Code haben wir die Funktion array_map() aufgerufen und die anonyme Funktion als ersten Parameter übergeben. Die Funktion dieser anonymen Funktion besteht darin, zu bestimmen, ob das Element gleich 2 ist. Wenn es gleich 2 ist, wird 20 zurückgegeben, andernfalls wird das Element selbst zurückgegeben. Abschließend geben wir das geänderte Array aus.

4. Verwenden Sie die Funktion array_walk(), um den Array-Wert zu ändern.

Ähnlich wie die Funktion array_map() bietet PHP auch eine weitere Funktion array_walk() zum Anwenden einer benutzerdefinierten Funktion auf jedes Element im Array. Das konkrete Beispiel lautet wie folgt:

<?php
$arr = [
    [&#39;name&#39; => 'Tom', 'age' => 18],
    ['name' => 'Lucy', 'age' => 20],
    ['name' => 'John', 'age' => 22],
];

function changeAge(&$val, $key) {
    if($val['name'] == 'Lucy') {
        $val['age'] = 21;
    }
}

array_walk($arr, 'changeAge');
print_r($arr);
?>

Im Code definieren wir eine Funktion changeAge(), um zu bestimmen, ob der Name des Unterarrays im Array gleich Lucy ist. Wenn es Lucy entspricht, ändern Sie das Alter auf 21. Dann rufen wir die Funktion array_walk() auf und übergeben changeAge() als zweiten Parameter. Hierbei ist zu beachten, dass der erste Parameter $val der Funktion changeAge() ein Referenztyp ist, d. h. durch Ändern des Werts von $val wird der Wert im ursprünglichen Array direkt geändert.

Zusammenfassung:

Mit den oben genannten vier Methoden können wir einen Wert im Array leicht ändern. Die am besten geeignete Methode muss basierend auf der tatsächlichen Situation in Betracht gezogen werden. Zusätzlich zu den oben genannten Methoden gibt es natürlich auch andere Methoden zum Ändern der Werte im Array, z. B. die Verwendung der Funktion array_replace (), Referenzzyklen usw. Vergessen Sie nicht, dass Sie beim Ändern der Werte im Array auf die Richtigkeit der Logik achten müssen, um unnötige Konsequenzen zu vermeiden.

Das obige ist der detaillierte Inhalt vonSo ändern Sie einen Wert in einem Array 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