تفاضل انجمنی (array_diff_assoc)
تابع array_diff_assoc() تفاوت «انجمنی» را می دهد؛ یعنی هم کلیدها و هم مقدارها مهم اند. مثل دفتر نمره ای که نام درس و نمره هر دو بررسی می شوند.
تعریف کوتاه
این تابع کلیدها و مقدارهای چند آرایه را مقایسه می کند. سپس اعضای خاصِ آرایه اول را برمی گرداند؛ آن هایی که در بقیه نیستند.
نمونه 1: تفاوتِ کلید و مقدار بین دو آرایه
<?php
$a1 = array("a" => "red", "b" => "green", "c" => "blue", "d" => "yellow");
$a2 = array("a" => "red", "b" => "green", "c" => "blue");
$result = array_diff_assoc($a1, $a2);
print_r($result);
?>
نمونه 2: آرایه های با کلیدهای متفاوت
<?php
$a1 = array("a" => "red", "b" => "green", "c" => "blue", "d" => "yellow");
$a2 = array("e" => "red", "f" => "green", "g" => "blue");
$result = array_diff_assoc($a1, $a2);
print_r($result);
?>
نمونه 3: مقایسه با سه آرایه
<?php
$a1 = array("a" => "red", "b" => "green", "c" => "blue", "d" => "yellow");
$a2 = array("a" => "red", "f" => "green", "g" => "blue");
$a3 = array("h" => "red", "b" => "green", "g" => "blue");
$result = array_diff_assoc($a1, $a2, $a3);
print_r($result);
?>
سینتکس و پارامترها
array_diff_assoc(array1, array2, array3, ...)
- array1: آرایه مرجع برای تفاضل. اجباری.
- array2: آرایه مقایسه. اجباری.
- array3,...: آرایه های مقایسه بیشتر. اختیاری.
نکته های مهم
نکته: کلید و مقدار هر دو مقایسه می شوند. فقط تفاوت های دقیق برمی گردند.
نکته: خروجی آرایه ای از اعضای خاصِ array1 است. نسخه: PHP 4.3+.
گام های تمرینی سریع
- دو آرایه انجمنی با کلیدهای متفاوت بساز.
- تابع
array_diff_assocرا اجرا کن. - نتیجه را با
print_rتحلیل کن.
جمع بندی سریع
- تفاوتِ «کلید+مقدار» را می دهد.
- فقط اعضای ویژه آرایه اول برمی گردند.
- با چند آرایه کار می کند.
- برای دیتای فرمتی مفید است.
تفاضل آرایه را هم ببین برای مقایسه فقط مقدار.
تابع array() برای ساخت آرایه ها ضروری است.