Calcule la différence entre deux tableaux associatifs, à l'aide d'une fonction de rappel

# array_diff_uassoc

(PHP 5, PHP 7, PHP 8)

array_diff_uassoc — Calcule la différence entre deux tableaux associatifs, à l'aide d'une fonction de rappel

### Description

function array_diff_uassoc(array `$array`, array `...$arrays`, callable `$key_compare_func`): array

Compare le tableau `array` avec les tableaux `arrays` et retourne la différence. Contrairement à la fonction array_diff(), les clés du tableau sont utilisées dans la comparaison.

Contrairement à la fonction array_diff_assoc(), un utilisateur fournit une fonction de rappel utilisée pour la comparaison des indices, et non une fonction interne.

### Liste de paramètres

`array`

  Le tableau à comparer

`arrays`

  Tableaux à comparer contre

`key_compare_func`
  La fonction de comparaison doit retourner un entier inférieur à, égal à, ou supérieur à 0 si le premier argument est considéré comme, respectivement, inférieur à, égal à, ou supérieur au second.
  function callback(mixed `$a`, mixed `$b`): int
  Attention

  Retourner des valeurs non-entières à partir de la fonction de comparaison, telles que float, entraînera une conversion interne de la valeur de retour du rappel en int. Ainsi, des valeurs telles que `0.99` et `0.1` seront toutes deux converties en une valeur entière de `0`, ce qui comparera de telles valeurs comme égales.

### Valeurs de retour

Retourne un tableau contenant toutes les entrées du tableau `array` qui ne sont présentes dans aucun autre tableau.

### Exemples

Exemple #1 Exemple avec array_diff_uassoc()

Dans cet exemple, la paire `"a" => "green"` est présente dans les deux tableaux, et donc, n'est pas présente dans le résultat de la fonction. Au contraire, la paire `0 => "red"` est présente dans le résultat, car la clé de `"red"` est automatiquement assignée à `0` dans le premier tableau, tandis qu'elle est assignée à `1` dans le deuxième tableau, car la clé `0` est déjà assignée à `yellow`.

    <?php
    function key_compare_func($a, $b)
    {
        return $a <=> $b;
    }

    $array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");
    $array2 = array("a" => "green", "yellow", "red");
    $result = array_diff_uassoc($array1, $array2, "key_compare_func");
    print_r($result);
    ?>

L'exemple ci-dessus va afficher :

    Array
    (
        [b] => brown
        [c] => blue
        [0] => red
    )

L'égalité de deux indices est vérifiée par la fonction utilisateur.

### Notes

> Note:

> Cette fonction ne vérifie qu'une dimension d'un tableau multidimensionnel. Il est possible de vérifier des sous-dimensions en utilisant, par exemple, `array_diff_uassoc($array1[0], $array2[0], "key_compare_func");`.

### Voir aussi

- array_diff() - Calcule la différence entre des tableaux
- array_diff_assoc() - Calcule la différence de deux tableaux, en prenant aussi en compte les clés
- array_udiff() - Calcule la différence entre deux tableaux en utilisant une fonction de rappel
- array_udiff_assoc() - Calcule la différence entre des tableaux avec vérification des index, compare les données avec une fonction de rappel
- array_udiff_uassoc() - Calcule la différence de deux tableaux associatifs, compare les données et les index avec une fonction de rappel
- array_intersect() - Calcule l'intersection de tableaux
- array_intersect_assoc() - Calcule l'intersection de deux tableaux avec des tests sur les index
- array_uintersect() - Calcule l'intersection de deux tableaux, compare les données en utilisant une fonction de rappel
- array_uintersect_assoc() - Calcule l'intersection de deux tableaux avec des tests sur l'index, compare les données en utilisant une fonction de rappel
- array_uintersect_uassoc() - Calcule l'intersection de deux tableaux avec des tests sur l'index, compare les données et les index des deux tableaux en utilisant une fonction de rappel séparée

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open