(PHP 5 >= 5.1.0, PHP 7)
array_intersect_ukey — Calcule l'intersection de deux tableaux en utilisant une fonction de rappel sur les clés pour comparaison
$array1
, array $array2
[, array $...
], callable $key_compare_func
)
array_intersect_ukey() retourne un tableau contenant
toutes les valeurs du tableau array1
qui contiennent des clés présentes dans tous les arguments
array2
, ...
.
array1
Tableau initial pour la comparaison des tableaux.
array2
Premier tableau utilisé pour comparer les clés.
...
Liste variable de tableaux à 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. Notez qu'avant PHP 7.0.0, cet entier devait être dans l'intervalle -2147483648 à 2147483647
Retourne les valeurs du tableau
array1
dont les clés existent
dans tous les arguments.
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, vous pouvez voir que seules les clés
'bleu' et 'vert' sont présentes dans
les deux tableaux et, donc, elles
sont retournées. Notez également que les valeurs pour les clés
'bleu' et 'vert' 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 array1
.