คำอธิบาย
ฟังก์ชัน array_udiff() คำนวณ difference (ความต่าง) ของอาร์เรย์โดยเปรียบเทียบค่าด้วยฟังก์ชัน callback (ไม่เปรียบเทียบคีย์)
รูปแบบการใช้งาน (Syntax)
array_udiff(arr1, arr2, ..., callback)
พารามิเตอร์
- arr1 — อาร์เรย์แรก
- arr2 — อาร์เรย์ที่สอง
- ... — อาร์เรย์เพิ่มเติม
- callback — ฟังก์ชันเปรียบเทียบค่า คืนค่า <0, 0, >0
ค่าที่คืนกลับ
คืนค่าอาร์เรย์จาก arr1 ที่มีค่าไม่ซ้ำกับอาร์เรย์อื่น (เปรียบเทียบแค่ค่า)
ตัวอย่างการใช้งาน
<?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($arr1, $arr2, "compare_func");
print_r($res);
?>
ผลลัพธ์
Array
(
[b] => keyboard
)
ค่า keyboard มีใน arr1 แต่ไม่มีใน arr2 (แม้คีย์ต่างกันก็ตาม)