PHP में array_diff_assoc() फ़ंक्शन सरणियों की कुंजियों और मानों दोनों की आंतरिक तुलना (===) करके अंतर लौटाता है। array_diff() केवल मानों की तुलना करता है, जबकि यह कुंजी+मान दोनों देखता है।
सिंटैक्स (Syntax)
array_diff_assoc(array $arr1, array $arr2, array ...$arrays): array
पैरामीटर्स (Parameters)
$arr1 − आधार सरणी।
$arr2 − तुलना के लिए दूसरी सरणी।
$arrays (वैकल्पिक) − अतिरिक्त सरणियाँ।
रिटर्न वैल्यू (Return Value)
पहली सरणी की वे प्रविष्टियाँ वाली सरणी लौटाता है जो अन्य किसी सरणी में कुंजी और मान दोनों से मौजूद नहीं हैं।
उदाहरण (Examples)
उदाहरण 1: मूल उपयोग
<?php
$arr1 = array("p" => "football", "q" => "cricket", "r" => "hockey");
$arr2 = array("s" => "football", "t" => "cricket");
$result = array_diff_assoc($arr1, $arr2);
print_r($result);
?>
आउटपुट
Array
(
[p] => football
[q] => cricket
[r] => hockey
)
व्याख्या: मान "football", "cricket" arr2 में हैं लेकिन कुंजियाँ अलग ("s", "t" vs "p", "q")। इसलिए सभी arr1 की प्रविष्टियाँ अंतर मानी गईं।
उदाहरण 2: array_diff() से तुलना
<?php $arr1 = ["a" => 1, "b" => 2, "c" => 3]; $arr2 = ["x" => 1, "y" => 2]; print_r(array_diff($arr1, $arr2)); // [] - मान 1,2 दोनों में हैं print_r(array_diff_assoc($arr1, $arr2)); // [a=>1, b=>2, c=>3] - कुंजियाँ अलग ?>
उदाहरण 3: समान कुंजी-मान जोड़े
<?php $arr1 = ["a" => 1, "b" => 2, "c" => 3]; $arr2 = ["a" => 1, "b" => 2]; $result = array_diff_assoc($arr1, $arr2); print_r($result); // केवल "c" => 3 ?>
आउटपुट
Array
(
[c] => 3
)
डिफ़रेंस फ़ंक्शन्स त्वरित संदर्भ
| फ़ंक्शन | तुलना | उपयोग |
|---|---|---|
| array_diff() | केवल मान | मान-आधारित अंतर |
| array_diff_assoc() | कुंजी + मान | सटीक प्रविष्टि अंतर |
| array_diff_key() | केवल कुंजी | कुंजी-आधारित अंतर |