फ़ंक्शन array_udiff_assoc

फ़ंक्शन array_udiff_assoc एक ऐरे लौटाता है जिसमें पहले ऐरे के सभी तत्व शामिल होते हैं जो बाद के ऐरे में अनुपस्थित होते हैं। कुंजियों की तुलना PHP के अंतर्निहित तंत्र द्वारा की जाती है, और मानों की तुलना उपयोगकर्ता द्वारा परिभाषित कॉलबैक फ़ंक्शन के माध्यम से की जाती है।

वाक्यविन्यास

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

उदाहरण

उपयोगकर्ता परिभाषित फ़ंक्शन के साथ ऐरे की तुलना:

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

कोड निष्पादन का परिणाम:

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

उदाहरण

संख्यात्मक सूचकांकों के साथ तुलना:

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

कोड निष्पादन का परिणाम:

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

उदाहरण

जटिल वस्तु तुलना:

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

कोड निष्पादन का परिणाम:

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

यह भी देखें

  • फ़ंक्शन array_diff_assoc,
    जो सूचकांक जांच के साथ ऐरे अंतर की गणना करता है
  • फ़ंक्शन array_udiff,
    जो कॉलबैक फ़ंक्शन के साथ ऐरे अंतर की गणना करता है (सूचकांक जांच के बिना)