ฟังก์ชัน array_diff_assoc() ใช้เปรียบเทียบ ทั้งคีย์และค่า ของอาร์เรย์หลายตัว และส่งคืนอาร์เรย์ที่มีสมาชิกจากอาร์เรย์แรกที่ ไม่มี ในอาร์เรย์อื่นๆ (ทั้งคีย์และค่า) แตกต่างจาก array_diff() ที่เปรียบเทียบเฉพาะค่า
ไวยากรณ์ (Syntax)
array_diff_assoc(arr1, arr2, arr3, arr4, ...)
พารามิเตอร์ (Parameters)
arr1 − อาร์เรย์แรกที่ต้องการเปรียบเทียบ (จำเป็น)
arr2 − อาร์เรย์ที่สอง (จำเป็น)
arr3, arr4, ... − อาร์เรย์เพิ่มเติม (ตัวเลือก)
ค่าที่ส่งคืน (Return Value)
ส่งคืนอาร์เรย์ที่มีสมาชิกจากอาร์เรย์แรกที่ไม่มีทั้งคีย์และค่าตรงกันในอาร์เรย์อื่นๆ
ตัวอย่างการใช้งาน
<?php
$arr1 = array("p" => "football", "q" => "cricket", "r" => "hockey");
$arr2 = array("s" => "football", "t" => "cricket");
$res = array_diff_assoc($arr1, $arr2);
print_r($res);
?>
ผลลัพธ์
Array ( [p] => football [q] => cricket [r] => hockey )
คำอธิบาย: แม้ค่า "football" และ "cricket" จะมีในอาร์เรย์ที่สอง แต่คีย์ต่างกัน (p,q vs s,t) จึงถือว่าต่างกันและถูกนำไปรวมในผลลัพธ์