Position actuelle: Accueil> Derniers articles> array_diff_assoc () et array_merge () gérer conjointement les modifications du tableau

array_diff_assoc () et array_merge () gérer conjointement les modifications du tableau

M66 2025-06-06

En PHP, les opérations de tableau sont l'une des tâches les plus courantes du développement quotidien. PHP fournit une fonction de fonctionnement riche en array, où array_diff_assoc () et array_merge () sont deux fonctions très utiles. Ces deux fonctions sont très utiles lorsque nous devons comparer deux tableaux et traiter leurs différences, ou effectuer un filtrage et un traitement spécifiques lors de la fusion des tableaux.

Cet article présentera comment utiliser Array_Diff_assoc () et Array_merge () Union pour gérer les modifications du tableau et résoudre les différences de tableau et fusionner les problèmes. Nous utiliserons un exemple pratique pour expliquer comment ces deux fonctions fonctionnent ensemble.

Qu'est-ce que Array_Diff_assoc () ?

La fonction array_diff_assoc () est utilisée pour comparer deux tableaux, renvoyant un tableau contenu dans le premier tableau, mais pas dans d'autres tableaux. Contrairement à Array_Diff () , Array_Diff_assoc () prendra en compte le nom de clé et la valeur du tableau, et seuls les éléments avec des paires de valeurs clés complètement différentes seront renvoyés.

grammaire:

 array_diff_assoc(array $array1, array $array2, array ...$arrays): array
  • Array1 : Le premier tableau qui doit être comparé.

  • Array2 : Le deuxième tableau qui doit être comparé au premier tableau.

  • Retour: Renvoie un nouveau tableau contenant des paires de valeurs clés qui sont dans Array1 mais pas dans Array2 .

Exemple:

 $array1 = [
    "a" => 1,
    "b" => 2,
    "c" => 3
];

$array2 = [
    "a" => 1,
    "b" => 4,
    "c" => 3
];

$result = array_diff_assoc($array1, $array2);
print_r($result);

Sortir:

 Array
(
    [b] => 2
)

Comme on peut le voir à partir du résultat, la fonction array_diff_assoc () ne renvoie que des éléments avec différentes valeurs sur le nom de clé b .

Qu'est-ce que Array_merge () ?

La fonction array_merge () est utilisée pour fusionner un ou plusieurs tableaux. Il renvoie un nouveau tableau contenant tous les éléments du tableau. Si plusieurs tableaux ont les mêmes noms de clé, l'élément de tableau suivant écrasera l'élément de tableau précédent.

grammaire:

 array_merge(array ...$arrays): array
  • $ Arrays : un ou plusieurs tableaux qui doivent être fusionnés.

  • Retour: renvoie un nouveau tableau contenant tous les éléments du tableau d'entrée.

Exemple:

 $array1 = [
    "a" => 1,
    "b" => 2
];

$array2 = [
    "c" => 3,
    "d" => 4
];

$result = array_merge($array1, $array2);
print_r($result);

Sortir:

 Array
(
    [a] => 1
    [b] => 2
    [c] => 3
    [d] => 4
)

Comme indiqué ci-dessus, Array_merge () combine deux tableaux dans un nouveau tableau.

Utilisez array_diff_assoc () et array_merge () en combinaison pour gérer les différences de tableau et la fusion

Description de la scène:

Supposons que nous ayons deux tableaux, l'un est le tableau de données d'origine et l'autre est le tableau de données après quelques modifications. Nous devons découvrir les différences entre ces deux tableaux et fusionner les différences par des parties ensemble. Ce processus peut être réalisé par array_diff_assoc () , puis fusionner les tableaux en utilisant array_merge () .

Exemple de code:

 // Données brutes
$original = [
    "name" => "John",
    "email" => "john@example.com",
    "age" => 30
];

// Changements
$updated = [
    "name" => "John",
    "email" => "john@m66.net", // Adresse e-mail modifiée
    "city" => "New York" // Nouvelle ville ajoutée
];

// utiliser array_diff_assoc Trouvez la différence
$diff = array_diff_assoc($updated, $original);

// Fusionner la partie de différence
$merged = array_merge($original, $diff);

print_r($merged);

Sortir:

 Array
(
    [name] => John
    [email] => john@m66.net
    [age] => 30
    [city] => New York
)

expliquer:

  1. Trouver la différence : array_diff_assoc () est utilisé pour trouver la différence entre le tableau mis à jour et le tableau d'origine . Il renverra un nouveau tableau contenant différentes paires de valeurs clés (comme le courrier électronique et la ville ).

  2. Différence de fusion : array_merge () est utilisée pour fusionner le tableau d'origine et les pièces Diff. Grâce à l'opération de fusion, nous pouvons conserver les autres parties du tableau d'origine tout en fusionnant les pièces mises à jour (différences) en.

Application pratique:

Cette technique convient particulièrement pour gérer les mises à jour de la configuration ou les comparaisons des enregistrements de base de données. Par exemple, lorsque vous devez détecter les modifications des fichiers de configuration, des paramètres utilisateur ou des enregistrements de base de données, trouvez toutes les différentes parties via array_diff_assoc () , puis utilisez array_merge () pour fusionner les nouvelles valeurs dans les données d'origine, qui peuvent mettre à jour efficacement le tableau.

Résumer

En combinant array_diff_assoc () et array_merge () , nous pouvons facilement gérer les différences entre les tableaux et les fusionner. array_diff_assoc () nous aide à trouver les différences entre les tableaux, tandis que Array_merge () est capable de fusionner ces différences dans les données d'origine. Les deux sont utilisés en conjonction les uns avec les autres et sont particulièrement adaptés aux scénarios où les changements de données et les combinaisons sont nécessaires.

J'espère que cet article peut vous aider à mieux comprendre l'utilisation de ces deux fonctions et les appliquer de manière flexible dans des projets réels. Si vous avez des questions ou des idées, veuillez laisser un message pour discuter!