194 of 410 menu

Fonction array_udiff_assoc

La fonction array_udiff_assoc retourne un tableau contenant tous les éléments du premier tableau qui sont absents des tableaux suivants. La comparaison des clés est effectuée par le mécanisme intégré de PHP, et celle des valeurs - via une fonction de rappel utilisateur.

Syntaxe

array_udiff_assoc(array $array1, array $array2, ..., callable $value_compare_func): array

Exemple

Comparaison de tableaux avec une fonction personnalisée :

<?php function compare($a, $b) { return $a <=> $b; } $array1 = ["a" => "green", "b" => "brown", "c" => "blue"]; $array2 = ["a" => "green", "b" => "yellow", "d" => "blue"]; print_r(array_udiff_assoc($array1, $array2, "compare")); ?>

Résultat de l'exécution du code :

Array ( [b] => brown [c] => blue )

Exemple

Comparaison avec des index numériques :

<?php function numCompare($a, $b) { return $a - $b; } $array1 = [10 => "apple", 20 => "banana", 30 => "cherry"]; $array2 = [10 => "pear", 20 => "banana", 40 => "cherry"]; print_r(array_udiff_assoc($array1, $array2, "strcmp")); ?>

Résultat de l'exécution du code :

Array ( [10] => apple [30] => cherry )

Exemple

Comparaison complexe d'objets :

<?php class Product { public $id; public $name; public function __construct($id, $name) { $this->id = $id; $this->name = $name; } } function objCompare($a, $b) { return strcmp($a->name, $b->name); } $products1 = [ "p1" => new Product(1, "Laptop"), "p2" => new Product(2, "Phone") ]; $products2 = [ "p1" => new Product(3, "Tablet"), "p3" => new Product(2, "Phone") ]; print_r(array_udiff_assoc($products1, $products2, "objCompare")); ?>

Résultat de l'exécution du code :

Array ( [p1] => Product Object ( [id] => 1 [name] => Laptop ) )

Voir aussi

  • la fonction array_diff_assoc,
    qui calcule la différence des tableaux avec vérification des index
  • la fonction array_udiff,
    qui calcule la différence des tableaux avec une fonction de rappel (sans vérification des index)
Français
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nous utilisons des cookies pour le fonctionnement du site, l'analyse et la personnalisation. Le traitement des données est effectué conformément à la Politique de confidentialité.
accepter tout personnaliser refuser