php array_udiff_assoc calcule l'exemple de différence de deux tableaux

高洛峰
Libérer: 2023-03-04 21:58:01
original
1450 Les gens l'ont consulté

La fonction php array_udiff() est utilisée pour comparer les noms de clés et les valeurs de clés de deux (ou plus) tableaux et renvoyer la différence. Cette comparaison est effectuée via une fonction de rappel fournie par l'utilisateur. Si le premier argument est considéré comme inférieur, égal ou supérieur au deuxième argument, un entier inférieur à zéro, égal à zéro ou supérieur à zéro doit être renvoyé, respectivement. Cet article explique comment utiliser la fonction array_udiff() à travers des exemples,

array_udiff_assoc - calcule l'ensemble de différences de tableaux avec vérification d'index et utilise la fonction de rappel pour comparer les données

Basique syntaxe :

array array_udiff_assoc ( array $array1 , array $array2 [, array $ ... ], callable $data_compare_func )
Cette comparaison est effectuée via une fonction de rappel fournie par l'utilisateur. Si le premier argument est considéré comme inférieur, égal ou supérieur au deuxième argument, un entier inférieur à zéro, égal à zéro ou supérieur à zéro doit être renvoyé, respectivement.

Remarque : notez que cette fonction ne vérifie qu'une seule dimension du tableau multidimensionnel. Bien sûr, vous pouvez utiliser array_udiff_assoc($array1[0], $array2[0], "some_comparison_func"); pour vérifier des dimensions plus profondes.

Introduction aux paramètres

php array_udiff_assoc 计算两个数组的差集实例

Valeur de retour

array_udiff_assoc() renvoie un tableau qui inclut tout dans array1 mais pas dans les autres Les valeurs ​dans le tableau des paramètres. Notez que contrairement à array_diff() et array_udiff(), les noms de clés sont également utilisés à des fins de comparaison. La comparaison des données du tableau est effectuée à l'aide des fonctions de rappel fournies par l'utilisateur. C'est le comportement opposé à array_diff_assoc(), qui utilise une fonction interne pour la comparaison.

Instance

<?php
class cr {
  private $priv_member;
  function cr($val) {
    $this->priv_member = $val;
  }
  static function comp_func_cr($a, $b) {
    if ($a->priv_member === $b->priv_member) return 0;
    return ($a->priv_member > $b->priv_member) ? 1 : -1;
  }
}
$a = array(
  "0.1" => new cr(9) ,
  "0.5" => new cr(12) ,
  0 => new cr(23) ,
  1 => new cr(4) ,
  2 => new cr(-15) ,
);
$b = array(
  "0.2" => new cr(9) ,
  "0.5" => new cr(22) ,
  0 => new cr(3) ,
  1 => new cr(4) ,
  2 => new cr(-15) ,
);
$result = array_udiff_assoc($a, $b, array(
  "cr",
  "comp_func_cr"
));
print_r($result);
?>
Copier après la connexion

Résultat de l'exécution :

Array
(
  [0.1] => cr Object
    (
      [priv_member:private] => 9
    )
 
  [0.5] => cr Object
    (
      [priv_member:private] => 12
    )
 
  [0] => cr Object
    (
      [priv_member:private] => 23
    )
)
Copier après la connexion

Dans l'exemple ci-dessus, vous pouvez voir que la paire clé-valeur "1" => new cr(4) apparaît dans les deux tableaux en même temps et n'est donc pas incluse dans la sortie de cette fonction.

Merci d'avoir lu, j'espère que cela pourra vous aider, merci pour votre soutien à ce site !

Pour plus d'exemples php array_udiff_assoc de calcul de la différence entre deux tableaux, veuillez faire attention au site Web PHP chinois !

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!