Maison >développement back-end >Problème PHP >Comment remplacer des valeurs dans un tableau en php

Comment remplacer des valeurs dans un tableau en php

PHPz
PHPzoriginal
2023-04-21 09:12:291059parcourir

Les opérations sur les tableaux sont l'une des tâches les plus courantes lors de la programmation en PHP. Parmi elles, le remplacement des valeurs dans le tableau est également l'une des opérations courantes.

En PHP, vous pouvez utiliser deux fonctions pour remplacer des valeurs dans un tableau : array_replace() et array_replace_recursive(). Ci-dessous, nous présenterons respectivement l'utilisation et les précautions de ces deux fonctions.

1. La fonction array_replace()

array_replace() consiste à remplacer les valeurs d'un ou plusieurs tableaux dans le tableau d'origine. La syntaxe est la suivante :

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

Parmi eux, $array1 est le tableau d'origine, $array2 est le tableau qui doit être remplacé dans le tableau d'origine, $... peut être utilisé lorsqu'il y a plusieurs tableaux qui doivent être remplacés. remplacé.

Ci-dessous, nous utilisons l'exemple de code suivant pour démontrer l'utilisation de cette fonction :

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

Le résultat de sortie est le suivant :

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

On peut voir que la valeur de key = 'a' dans le tableau d'origine $array1 est remplacé par key = dans $array2 La valeur de 'a' est remplacée, et il n'y a pas de clé dans $array2, mais est directement complétée par un indice numérique, donc un nouvel élément 0 est généré : 'jaune'.

2. La fonction array_replace_recursive()

array_replace_recursive() est similaire à array_replace(), qui remplace également les valeurs d'un ou plusieurs tableaux dans le tableau d'origine. La différence est que si le tableau est imbriqué de manière multidimensionnelle, la fonction remplace de manière récursive les valeurs correspondantes de tous les sous-tableaux. La syntaxe est la suivante :

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

Ci-dessous, nous utilisons l'exemple de code suivant pour démontrer l'utilisation de cette fonction :

<?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);
?>

Le résultat de sortie est le suivant :

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

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

)

On peut voir que key = 'a', key = dans le tableau d'origine $array1 Les valeurs correspondantes dans 'b' sont remplacées par les valeurs dans $array2.

3. Notes

Lors de l'utilisation des fonctions array_replace() et array_replace_recursive(), vous devez faire attention aux points suivants :

  1. Si les clés du tableau sont les mêmes, le tableau suivant remplacera la valeur du tableau précédent. Les paires clé-valeur correspondant au tableau seront supprimées.
  2. Si les clés du tableau sont différentes, le tableau suivant sera ajouté au tableau précédent et la valeur du tableau précédent ne sera pas supprimée.
  3. Lors de l'utilisation de la fonction array_replace_recursive(), si le tableau à remplacer contient un tableau multidimensionnel, la fonction remplacera récursivement les valeurs correspondantes de tous les sous-tableaux. Si vous ne souhaitez pas remplacer de manière récursive, vous pouvez utiliser la fonction array_replace().

En général, les opérations sur les tableaux en PHP sont très flexibles et les opérations de remplacement de tableau peuvent également être facilement effectuées à l'aide de certaines fonctions de tableau. L'utilisation et les précautions des deux fonctions ci-dessus sont également très simples. J'espère que cet article sera utile à votre programmation PHP.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn