(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
array_intersect_ukey() retourne un tableau contenant
toutes les valeurs du tableau array
qui contiennent des clés présentes dans tous les arguments.
array
Tableau initial pour la comparaison des tableaux.
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.
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.
Retourne les valeurs du tableau
array
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 array
.