PHP में array_intersect_uassoc() फ़ंक्शन सरणियों की कुंजियों और मानों दोनों की तुलना करता है - कुंजियों के लिए कस्टम कॉलबैक, मानों के लिए आंतरिक (===) तुलना। मिलान वाली प्रविष्टियाँ लौटाता है।
सिंटैक्स (Syntax)
array_intersect_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");
$arr2 = array("d" => "laptop", "b" => "keyboard", "c" => "mouse");
$result = array_intersect_uassoc($arr1, $arr2, "compare_key");
print_r($result);
?>
आउटपुट
Array
(
[b] => keyboard
[c] => mouse
)
कुंजी "a" vs "d" - कॉलबैक अनुसार अलग। कुंजी "b" और "c" दोनों सरणियों में समान कुंजी और समान मान।
उदाहरण 2: केस-इनसेंसिटिव कुंजी तुलना
<?php $arr1 = ["A" => "Apple", "B" => "Banana"]; $arr2 = ["a" => "Apple", "b" => "BANANA"]; // मान अलग केस $result = array_intersect_uassoc($arr1, $arr2, "strcasecmp"); print_r($result); ?>
आउटपुट
Array
(
[A] => Apple
)
कुंजी "A" ≈ "a" (केस-इनसेंसिटिव मिलान), मान "Apple" === "Apple" (सटीक मिलान)। कुंजी "B" ≈ "b" लेकिन मान "Banana" !== "BANANA" (केस-सेंसिटिव मान तुलना)।
नोट
array_intersect_uassoc() में मान तुलना हमेशा सख्त (===) होती है। यदि मान तुलना भी कस्टम चाहिए तो array_uintersect_uassoc() उपयोग करें।