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