Calcule l'intersection de deux tableaux en utilisant une fonction de rappel sur les clés pour comparaison

# array_intersect_ukey

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

array_intersect_ukey — Calcule l'intersection de deux tableaux en utilisant une fonction de rappel sur les clés pour comparaison

### Description

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

array_intersect_ukey() retourne un tableau contenant toutes les valeurs du tableau `array` qui contiennent des clés présentes dans tous les arguments.

### Liste de paramètres

`array`

  Tableau initial pour la comparaison des tableaux.

`arrays`

  Tableaux dont les clés sont à comparer.

`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 les valeurs du tableau `array` dont les clés existent dans tous les arguments.

### Exemples

Exemple #1 Exemple avec array_intersect_ukey()

    <?php
    function key_compare_func($key1, $key2)
    {
        if ($key1 == $key2)
            return 0;
        else if ($key1 > $key2)
            return 1;
        else
            return -1;
    }

    $array1 = array('blue'  => 1, 'red'  => 2, 'green'  => 3, 'purple' => 4);
    $array2 = array('green' => 5, 'blue' => 6, 'yellow' => 7, 'cyan'   => 8);

    var_dump(array_intersect_ukey($array1, $array2, 'key_compare_func'));
    ?>

L'exemple ci-dessus va afficher :

    array(2) {
      ["blue"]=>
      int(1)
      ["green"]=>
      int(3)
    }

Dans cet exemple, seules les clés `'blue'` et `'green'` sont présentes dans les deux tableaux et, donc, elles sont retournées. Il est également à noter que les valeurs pour les clés `'blue'` et `'green'` diffèrent entre les deux tableaux. Néanmoins, elles correspondent toujours car uniquement les clés sont vérifiées. Les valeurs retournées sont celles du tableau `array`.

### Voir aussi

- array_diff() - Calcule la différence entre des tableaux
- array_udiff() - Calcule la différence entre deux tableaux en utilisant une fonction de rappel
- array_diff_assoc() - Calcule la différence de deux tableaux, en prenant aussi en compte les clés
- array_diff_uassoc() - Calcule la différence entre deux tableaux associatifs, à l'aide d'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_diff_key() - Calcule la différence de deux tableaux en utilisant les clés pour comparaison
- array_diff_ukey() - Calcule la différence entre deux tableaux en utilisant une fonction de rappel sur les clés pour comparaison
- array_intersect() - Calcule l'intersection de tableaux
- 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_intersect_key() - Calcule l'intersection de deux tableaux en utilisant les clés pour comparaison

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