(PHP 4 >= 4.3.0, PHP 5)
array_diff_assoc — تفاوت آرایهها با استفاده از بررسی اندیس اضافه محاسبه میکند
array1 را با array2 مقایسه میکند و تفاوت را باز میگرداند. برخلاف array_diff() کلیدهای آرایه در مقایسه استفاده میشود.
آرایه اول مقایسه
آرایه دوم مقایسه
آرایههای بیشتر برای مقایسه
بازگرداندن array شامل تمام مقادیر array1 که در آرایههای دیگر حاضر نیستند.
Example #1 مثال array_diff_assoc()
در این مثال، جفت "a" => "green" در هر دو آرایه حاضر است و در خروجی تابع ظاهر نشده است. برخلاف جفت پیشین، بدلیل برابری کلید آرگومان دوم "red" با 1 جفت 0 => "red" در خروجی ظاهر شده است.
<?php
$array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");
$array2 = array("a" => "green", "yellow", "red");
$result = array_diff_assoc($array1, $array2);
print_r($result);
?>
The above example will output:
Array ( [b] => brown [c] => blue [0] => red )
Example #2 array_diff_assoc() example
دو مقدار جفتهای key => value زمانی برابر با یکدیگر در نظر گرفته میشود که (string) $elem1 === (string) $elem2 باشد. به عبارت دیگر بررسی دقیقی برای هماهنگی نمایش رشتهها به کار برده میشود.
<?php
$array1 = array(0, 1, 2);
$array2 = array("00", "01", "2");
$result = array_diff_assoc($array1, $array2);
print_r($result);
?>
The above example will output:
Array ( [0] => 0 [1] => 1 )
Note: این تابع تنها یک بعد از آرایه n-بعدی را بررسی میکند. برای بررسی عمیقتر میتوانید به عنوان مثال از array_diff_assoc($array1[0], $array2[0]); استفاده کنید.