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

# array_uintersect_uassoc

(PHP 5, PHP 7, PHP 8)

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

### Description

function array_uintersect_uassoc(
array `$array1`,
array `...$arrays`,
callable `$value_compare_func`,
callable `$key_compare_func`
): array

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.

### Liste de paramètres

`array1`

  Le premier tableau.

`arrays`

  Tableaux supplémentaires.

`value_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.

  Attention

  La fonction de rappel de tri doit traiter n'importe quelle valeur de n'importe quel tableau dans n'importe quel ordre, quel que soit l'ordre dans lequel elles ont été initialement fournies. Cela s'explique par le fait que chaque tableau individuel est d'abord trié avant d'être comparé aux autres tableaux. Par exemple :

      <?php
      $arrayA = ["chaîne", 1];
      $arrayB = [["value" => 1]];
      // $item1 et $item2 peuvent être l'une des valeurs suivantes : "chaîne", 1 ou ["value" => 1]
      $compareFunc = static function ($item1, $item2) {
          $value1 = is_string($item1) ? strlen($item1) : (is_array($item1) ? $item1["value"] : $item1);
          $value2 = is_string($item2) ? strlen($item2) : (is_array($item2) ? $item2["value"] : $item2);
          return $value1 <=> $value2;
      };
      ?>

`key_compare_func`

  Fonction de rappel utilisée pour la comparaison des clés.

### Valeurs de retour

Retourne un tableau contenant toutes les valeurs du tableau `array1` qui sont présentes dans tous les arguments.

### Exemples

Exemple #1 Exemple avec array_uintersect_uassoc()

    <?php
    $array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");
    $array2 = array("a" => "GREEN", "B" => "brown", "yellow", "red");

    print_r(array_uintersect_uassoc($array1, $array2, "strcasecmp", "strcasecmp"));
    ?>

L'exemple ci-dessus va afficher :

    Array
    (
        [a] => green
        [b] => brown
    )

### Voir aussi

- array_uintersect() - Calcule l'intersection de deux tableaux, compare les données en utilisant une fonction de rappel
- array_intersect_assoc() - Calcule l'intersection de deux tableaux avec des tests sur les index
- array_intersect_uassoc() - Calcule l'intersection de deux tableaux avec des tests sur les index, compare les index 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

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