ฟังก์ชัน array_udiff_assoc() ใช้เปรียบเทียบ คีย์ (keys) และ ค่า (values) ด้วยฟังก์ชันที่ผู้ใช้กำหนดเอง แล้วส่งคืนอาร์เรย์ที่มีค่าจากอาร์เรย์แรกที่ ไม่มี ในอาร์เรย์อื่นๆ
ไวยากรณ์ (Syntax)
array_udiff_assoc(arr1, arr2, arr3, ..., compare_func)
พารามิเตอร์ (Parameters)
arr1 − อาร์เรย์แรกที่ต้องการเปรียบเทียบ
arr2 − อาร์เรย์ที่สองที่ต้องการเปรียบเทียบ
arr3, ... − อาร์เรย์เพิ่มเติม (ตัวเลือก)
compare_func − ฟังก์ชันเปรียบเทียบค่า
ค่าที่ส่งคืน (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");
$arr2 = array("a" => "laptop", "d" => "mouse");
$res = array_udiff_assoc($arr1, $arr2, "compare_func");
print_r($res);
?>
ผลลัพธ์
Array ( [b] => keyboard [c] => mouse )