array_diff_uassoc

(PHP 5, PHP 7, PHP 8)

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

Description

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.

callback(mixed $a, mixed $b): int

Valeurs de retour

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

Exemples

Exemple #1 Exemple avec array_diff_uassoc()

Dans cet exemple, vous voyez que la paire "a" => "vert" est présente dans les deux tableaux et donc ne figure pas dans le résultat de la fonction. Contrairement à cela, la paire 0 => "rouge" est dans le résultat car dans le second argument, la clé de "rouge" est 1.

<?php
function key_compare_func($a$b)
{
    if (
$a === $b) {
        return 
0;
    }
    return (
$a $b)? 1:-1;
}

$array1 = array("a" => "vert""b" => "marron""c" => "bleu""rouge");
$array2 = array("a" => "vert""jaune""rouge");
$result array_diff_uassoc($array1$array2"key_compare_func");
print_r($result);
?>

L'exemple ci-dessus va afficher :

Array
(
    [b] => marron
    [c] => bleu
    [0] => rouge
)

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

Notes

Note:

Notez que cette fonction ne vérifie qu'une seule dimension d'un tableau multidimensionnel. Vous pouvez, bien sûr, tester une dimension particulière en utilisant par exemple, array_diff_uassoc($array1[1], $array2[1], "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 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

add a note add a note

User Contributed Notes 1 note

up
5
MD. ABU SAYEM
10 years ago
//array_diff_uassoc for multidimenssional array
$color_1=array('a'=>'white','b'=>'red','c'=>array('a'=>'green','b'=>'blue','c'=>'yellow'));
$color_2=array('a'=>'white','b'=>'red','c'=>array('a'=>'white','b'=>'red','c'=>'yellow'));

function key_compare($a,$b){
    if($a===$b)        return 0;
    return($a>$b)?1:-1;
}
print_r(array_diff_uassoc($color_1['c'], $color_2['c'],"key_compare"));

//Output
Array
(
    [a] => green
    [b] => blue
)
To Top