PHP में array_intersect_ukey() फ़ंक्शन सरणियों की कुंजियों (keys) की तुलना एक कस्टम कॉलबैक फ़ंक्शन से करता है और मिलान वाली प्रविष्टियाँ लौटाता है। मानों की तुलना नहीं की जाती।
सिंटैक्स (Syntax)
array_intersect_ukey(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 key_compare($a, $b) {
if ($a === $b) return 0;
return ($a > $b) ? 1 : -1;
}
$arr1 = array("a" => "one", "b" => "two", "c" => "three");
$arr2 = array("a" => "one", "b" => "two");
$result = array_intersect_ukey($arr1, $arr2, "key_compare");
print_r($result);
?>
आउटपुट
Array
(
[a] => one
[b] => two
)
उदाहरण 2: केस-इनसेंसिटिव कुंजी तुलना
<?php $arr1 = ["A" => 1, "B" => 2, "C" => 3]; $arr2 = ["a" => 10, "b" => 20]; $result = array_intersect_ukey($arr1, $arr2, "strcasecmp"); print_r($result); ?>
आउटपुट
Array
(
[A] => 1
[B] => 2
)
उदाहरण 3: संख्यात्मक कुंजियों के साथ
<?php $arr1 = [1 => "one", 2 => "two", 3 => "three"]; $arr2 = [2 => "twenty", 4 => "forty"]; $result = array_intersect_ukey($arr1, $arr2, fn($a, $b) => $a <=> $b); print_r($result); ?>
आउटपुट
Array
(
[2] => two
)
इंटरसेक्ट फ़ंक्शन्स तुलना (पुनरावलोकन)
| फ़ंक्शन | कुंजी तुलना | मान तुलना |
|---|---|---|
| array_intersect() | नहीं | आंतरिक (===) |
| array_intersect_assoc() | आंतरिक (===) | आंतरिक (===) |
| array_intersect_key() | आंतरिक (===) | नहीं |
| array_intersect_ukey() | कॉलबैक | नहीं |
| array_intersect_uassoc() | कॉलबैक | आंतरिक (===) |
| array_uintersect() | नहीं | कॉलबैक |
| array_uintersect_assoc() | आंतरिक (===) | कॉलबैक |
| array_uintersect_uassoc() | कॉलबैक | कॉलबैक |