Heim >Backend-Entwicklung >PHP-Problem >So ersetzen Sie Werte in einem Array in PHP

So ersetzen Sie Werte in einem Array in PHP

PHPz
PHPzOriginal
2023-04-21 09:12:291060Durchsuche

Array-Operationen gehören zu den häufigsten Aufgaben beim Programmieren in PHP. Unter diesen ist auch das Ersetzen der Werte im Array eine der häufigsten Operationen.

In PHP können Sie zwei Funktionen verwenden, um Werte in einem Array zu ersetzen: array_replace() und array_replace_recursive(). Im Folgenden stellen wir die Verwendung und Vorsichtsmaßnahmen dieser beiden Funktionen vor.

1. Die Funktion array_replace()

array_replace() dient dazu, die Werte eines oder mehrerer Arrays in das ursprüngliche Array zu ersetzen. Die Syntax lautet wie folgt:

mixed array_replace ( array $array1 , array $array2 [, array $... ] )

Darunter ist $array1 das ursprüngliche Array, $array2 ist das Array, das im ursprünglichen Array ersetzt werden muss, $... kann verwendet werden, wenn mehrere Arrays vorhanden sind ersetzt.

Im Folgenden verwenden wir das folgende Codebeispiel, um die Verwendung dieser Funktion zu demonstrieren:

<?php
$array1 = array("a" => "red", "b" => "green");
$array2 = array("a" => "blue", "yellow");
$result = array_replace($array1, $array2);
print_r($result);
?>

Das Ausgabeergebnis lautet wie folgt:

Array
(
    [a] => blue
    [b] => green
    [0] => yellow
)

Es ist ersichtlich, dass der Wert von key = 'a' im ursprünglichen Array $array1 wird durch key = in $array2 ersetzt. Der Wert von 'a' wird ersetzt und es gibt keinen Schlüssel in $array2, sondern wird direkt durch einen numerischen Index ergänzt, sodass ein neues Element 0 generiert wird: 'gelb'.

2. Die Funktion array_replace_recursive()

array_replace_recursive() ähnelt der Funktion array_replace(), die ebenfalls die Werte eines oder mehrerer Arrays in das ursprüngliche Array ersetzt. Der Unterschied besteht darin, dass die Funktion bei mehrdimensionaler Verschachtelung des Arrays die entsprechenden Werte aller Unterarrays rekursiv ersetzt. Die Syntax lautet wie folgt:

mixed array_replace_recursive ( array $array1 , array $array2 [, array $... ] )

Im Folgenden verwenden wir das folgende Codebeispiel, um die Verwendung dieser Funktion zu demonstrieren:

<?php
$array1 = array("a" => array("red"), "b" => array("green", "blue"));
$array2 = array("a" => array("yellow"), "b" => array("black"));
$result = array_replace_recursive($array1, $array2);
print_r($result);
?>

Das Ausgabeergebnis lautet wie folgt:

Array
(
    [a] => Array
        (
            [0] => yellow
        )

    [b] => Array
        (
            [0] => black
            [1] => blue
        )

)

Es ​​ist ersichtlich, dass key = 'a', key = im ursprünglichen Array $array1 Die entsprechenden Werte in 'b' werden durch die Werte in $array2 ersetzt.

3. Hinweise

Bei der Verwendung der Funktionen array_replace() und array_replace_recursive() müssen Sie auf die folgenden Punkte achten:

  1. Wenn die Schlüssel im Array gleich sind, ersetzt das spätere Array den Wert des Vorheriges Array. Die dem Array entsprechenden Schlüssel-Wert-Paare werden gelöscht.
  2. Wenn die Schlüssel im Array unterschiedlich sind, wird das spätere Array zum vorherigen Array hinzugefügt und der Wert des vorherigen Arrays wird nicht gelöscht.
  3. Wenn Sie die Funktion array_replace_recursive() verwenden und das zu ersetzende Array ein mehrdimensionales Array enthält, ersetzt die Funktion rekursiv die entsprechenden Werte aller Unterarrays. Wenn Sie nicht rekursiv ersetzen möchten, können Sie die Funktion array_replace() verwenden.

Array-Operationen in PHP sind im Allgemeinen sehr flexibel, und Array-Ersetzungsoperationen können mithilfe einiger Array-Funktionen auch problemlos durchgeführt werden. Die Verwendung und Vorsichtsmaßnahmen der beiden oben genannten Funktionen sind ebenfalls sehr einfach. Ich hoffe, dass dieser Artikel für Ihre PHP-Programmierung hilfreich ist.

Das obige ist der detaillierte Inhalt vonSo ersetzen Sie Werte 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