PHP में array_diff_uassoc() फ़ंक्शन सरणियों की कुंजियों की कस्टम कॉलबैक तुलना और मानों की आंतरिक तुलना (===) करता है, और अंतर लौटाता है। पहली सरणी की वे प्रविष्टियाँ लौटाई जाती हैं जो अन्य सरणियों में कुंजी (कॉलबैक अनुसार) और मान (=== अनुसार) दोनों से मौजूद नहीं हैं।
सिंटैक्स (Syntax)
array_diff_uassoc(array $arr1, array $arr2, array ...$arrays, callable $key_compare_func): array
पैरामीटर्स (Parameters)
$arr1 − आधार सरणी।
$arr2 − तुलना के लिए दूसरी सरणी।
$arrays (वैकल्पिक) − अतिरिक्त सरणियाँ।
$key_compare_func − कुंजी तुलना कॉलबैक।
0,<0, या>0लौटाए।
रिटर्न वैल्यू (Return Value)
पहली सरणी की वे प्रविष्टियाँ वाली सरणी लौटाता है जो अन्य सरणियों में कुंजी और मान दोनों से मौजूद नहीं हैं।
उदाहरण (Examples)
उदाहरण 1: कस्टम कुंजी तुलना
<?php
function compare_key($a, $b) {
if ($a === $b) return 0;
return ($a > $b) ? 1 : -1;
}
$arr1 = array("a" => "laptop", "b" => "keyboard", "c" => "mouse", "monitor");
$arr2 = array("a" => "laptop", "harddisk", "RAM", "monitor");
$result = array_diff_uassoc($arr1, $arr2, "compare_key");
print_r($result);
?>
आउटपुट
Array
(
[b] => keyboard
[c] => mouse
[0] => monitor
)
व्याख्या: "a" => "laptop" दोनों में समान। "monitor" arr1 में कुंजी 0 (संख्यात्मक), arr2 में कुंजी 3 (संख्यात्मक) - कॉलबैक अनुसार अलग। "b", "c" केवल arr1 में।
उदाहरण 2: केस-इनसेंसिटिव कुंजी तुलना
<?php $arr1 = ["A" => "Apple", "B" => "Banana"]; $arr2 = ["a" => "Apple", "C" => "Cherry"]; $result = array_diff_uassoc($arr1, $arr2, "strcasecmp"); print_r($result); // "A" ≈ "a" और मान समान => बाहर // "B" केवल arr1 में => शामिल ?>
आउटपुट
Array
(
[B] => Banana
)
नोट
मान तुलना हमेशा सख्त (===) होती है। यदि मान तुलना भी कस्टम चाहिए तो array_udiff_uassoc() उपयोग करें।