194 of 410 menu

Función array_udiff_assoc

La función array_udiff_assoc devuelve un array que contiene todos los elementos del primer array que no están presentes en los arrays siguientes. La comparación de claves se realiza mediante el mecanismo interno de PHP, y la de valores mediante una función callback definida por el usuario.

Sintaxis

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

Ejemplo

Comparación de arrays con función personalizada:

<?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")); ?>

Resultado de la ejecución del código:

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

Ejemplo

Comparación con índices numéricos:

<?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")); ?>

Resultado de la ejecución del código:

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

Ejemplo

Comparación compleja de objetos:

<?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")); ?>

Resultado de la ejecución del código:

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

Véase también

  • la función array_diff_assoc,
    que calcula la diferencia de arrays con comprobación de índices
  • la función array_udiff,
    que calcula la diferencia de arrays con función callback (sin comprobación de índices)
Español
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Usamos cookies para el funcionamiento del sitio, análisis y personalización. El procesamiento de datos se realiza de acuerdo con la Política de privacidad.
aceptar todas configurar rechazar