PHP में array_uintersect_uassoc() फ़ंक्शन दो कस्टम कॉलबैक फ़ंक्शन्स का उपयोग करके सरणियों की कुंजियों और मानों दोनों की तुलना करता है और मिलान वाली प्रविष्टियाँ लौटाता है। पहली सरणी की वे प्रविष्टियाँ लौटाई जाती हैं जो सभी अन्य सरणियों में कुंजी और मान दोनों से मौजूद हों।
सिंटैक्स (Syntax)
array_uintersect_uassoc(array $arr1, array $arr2, array ...$arrays, callable $key_compare_func, callable $value_compare_func): array
पैरामीटर्स (Parameters)
$arr1 − तुलना के लिए आधार सरणी।
$arr2 − तुलना की जाने वाली दूसरी सरणी।
$arrays (वैकल्पिक) − अतिरिक्त सरणियाँ तुलना के लिए।
$key_compare_func − कुंजियों की तुलना करने वाला कॉलबैक।
0,<0, या>0लौटाना चाहिए।$value_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;
}
function compare_val($a, $b) {
if ($a === $b) return 0;
return ($a > $b) ? 1 : -1;
}
$arr1 = array("a" => "laptop", "b" => "keyboard", "c" => "mouse");
$arr2 = array("a" => "laptop", "b" => "keyboard", "c" => "headphone");
$result = array_uintersect_uassoc($arr1, $arr2, "compare_key", "compare_val");
print_r($result);
?>
आउटपुट
Array
(
[a] => laptop
[b] => keyboard
)
उदाहरण 2: केस-इनसेंसिटिव तुलना
<?php
$arr1 = ["A" => "Apple", "B" => "Banana"];
$arr2 = ["a" => "apple", "b" => "banana"];
$result = array_uintersect_uassoc(
$arr1, $arr2,
fn($a, $b) => strcasecmp($a, $b),
fn($a, $b) => strcasecmp($a, $b)
);
print_r($result);
?>
आउटपुट
Array
(
[A] => Apple
[B] => Banana
)
इंटरसेक्ट फ़ंक्शन्स तुलना
| फ़ंक्शन | कुंजी तुलना | मान तुलना | कॉलबैक |
|---|---|---|---|
| array_intersect() | आंतरिक (===) | आंतरिक (===) | नहीं |
| array_intersect_assoc() | आंतरिक (===) | आंतरिक (===) | नहीं |
| array_intersect_key() | आंतरिक (===) | नहीं | नहीं |
| array_uintersect() | नहीं | कॉलबैक | 1 (मान) |
| array_uintersect_assoc() | आंतरिक (===) | कॉलबैक | 1 (मान) |
| array_intersect_ukey() | कॉलबैक | नहीं | 1 (कुंजी) |
| array_intersect_uassoc() | कॉलबैक | आंतरिक (===) | 1 (कुंजी) |
| array_uintersect_uassoc() | कॉलबैक | कॉलबैक | 2 (कुंजी, मान) |