ฟังก์ชัน array_diff_uassoc() ใช้เปรียบเทียบ ทั้งคีย์และค่า ของอาร์เรย์หลายตัวด้วย ฟังก์ชันเปรียบเทียบที่ผู้ใช้กำหนดเอง และส่งคืนอาร์เรย์ที่มีสมาชิกจากอาร์เรย์แรกที่ ไม่มี ในอาร์เรย์อื่นๆ (ทั้งคีย์และค่า)
ไวยากรณ์ (Syntax)
array_diff_uassoc(arr1, arr2, arr3, arr4, ..., compare_func)
พารามิเตอร์ (Parameters)
arr1 − อาร์เรย์แรกที่ต้องการเปรียบเทียบ (จำเป็น)
arr2 − อาร์เรย์ที่สอง (จำเป็น)
arr3, arr4, ... − อาร์เรย์เพิ่มเติม (ตัวเลือก)
compare_func − ฟังก์ชัน callback เปรียบเทียบคีย์และค่า ส่งคืนค่าตัวเลข: น้อยกว่า 0, เท่ากับ 0, มากกว่า 0
ค่าที่ส่งคืน (Return Value)
ส่งคืนอาร์เรย์ที่มีสมาชิกจากอาร์เรย์แรกที่ไม่มีทั้งคีย์และค่าตรงกันในอาร์เรย์อื่นๆ
ตัวอย่างการใช้งาน
<?php
function compare_func($a, $b) {
if ($a === $b) return 0;
return ($a > $b) ? 1 : -1;
}
$arr1 = array("a" => "laptop", "b" => "keyboard", "c" => "mouse", "monitor");
$arr2 = array("a" => "laptop", "harddisk", "RAM", "monitor");
$res = array_diff_uassoc($arr1, $arr2, "compare_func");
print_r($res);
?>
ผลลัพธ์
Array ( [b] => keyboard [c] => mouse [0] => monitor )