array_udiff_assoc ශ්‍රිතය

array_udiff_assoc ශ්‍රිතය පළමු අරාවේ ඇති, පසුව එන අරාවන්හි නොමැති සියලුම අංග අඩංගු අරාවක් ආපසු ලබා දෙයි. යතුරු සංසන්දනය කිරීම PHP හි අන්තර්ගත ක්‍රමය මගින් සිදු කරන අතර, අගයන් - පරිශීලක callback ශ්‍රිතය භාවිතයෙන් සිදු කෙරේ.

වාක්‍ය ඛණ්ඩය

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 ශ්‍රිතය,
    callback ශ්‍රිතය සමඟ අරා වෙනස ගණනය කරයි (දර්ශක පරීක්ෂාව නොමැතිව)