PHP array_diff_uassoc() ฟังก์ชัน
ตัวอย่าง
เปรียบเทียบชื่อกุญแจและค่าของอาเรย์สอง (ใช้ฟังก์ชันที่กำหนดโดยผู้ใช้เพื่อเปรียบเทียบชื่อกุญแจ) และกลับค่าตัวเลขที่เหลือ
<?php function myfunction($a,$b) { if ($a===$b) { return 0; } return ($a>$b)?1:-1; } $a1=array("a"=>"red","b"=>"green","c"=>"blue"); $a2=array("d"=>"red","b"=>"green","e"=>"blue"); $result=array_diff_uassoc($a1,$a2,"myfunction"); print_r($result); ?>
การกำหนดและการใช้งาน
ฟังก์ชัน array_diff_uassoc() ใช้เพื่อเปรียบเทียบชื่อกุญแจและค่าของอาเรย์สอง (หรือมากกว่าสอง) และกลับค่าตัวเลขที่เหลือ
หมายเหตุ:ฟังก์ชันนี้ใช้ฟังก์ชันที่กำหนดโดยผู้ใช้เพื่อเปรียบเทียบชื่อกุญแจ!
ฟังก์ชันนี้เปรียบเทียบชื่อกุญแจและค่าของอาเรย์สอง (หรือมากกว่าสอง) และกลับค่าอาเรย์ตัวเลขที่รวมถึงทุกช่วงที่มีในarray1แต่ไม่ได้มีในใดไหนของตัวแปรตัวอย่างarray2 หรือ array3 และอื่นๆ ของชื่อและค่าของกุญแจ
คำสั่ง
array_diff_uassoc(array1,array2,array3...myfunction);
ตัวแปร | คำอธิบาย |
---|---|
array1 | สำคัญ。อาเรย์แรกที่จะเปรียบเทียบกับอาเรย์อื่น |
array2 | สำคัญ。อาเรย์ที่จะเปรียบเทียบกับอาเรย์แรก |
array3,... | เลือกตั้ง。อาเรย์อื่นที่จะเปรียบเทียบกับอาเรย์แรก |
myfunction | สำคัญ。กำหนดชื่อฟังก์ชันที่สามารถเรียกใช้ได้เพื่อเปรียบเทียบค่าพิเศษ。ถ้าตัวเริ่มต้นเล็กกว่า เท่า หรือใหญ่กว่าตัวอื่น ฟังก์ชันต้องคืนค่าเลขจำนวนเต็มที่เล็กกว่า เท่า หรือใหญ่กว่า 0 |
รายละเอียด
array_diff_uassoc() ฟังก์ชันใช้คาลแบ็คฟังก์ชัน (callback) ที่กำหนดโดยผู้ใช้สำหรับตรวจสอบตัวแทนเพื่อคำนวณช่วงตัวเลขสองหรือหลายอาเรย์。กลับค่าคืออาเรย์ที่รวมถึงรายการที่มีใน array1 ค่าที่มีในตัวแปรแต่ไม่มีในใดไหนของตัวแปรตัวอย่าง
แต่ต่างกับฟังก์ชัน array_diff() นั้น ชื่อแกนคำยังต้องเปรียบเทียบด้วย
เพราะตัวแปร myfunction คือฟังก์ชันที่กำหนดโดยผู้ใช้เพื่อเปรียบเทียบสองตัวแปร ฟังก์ชันนี้จำเป็นต้องมีสองอาทิตย์ คือชื่อแกนคำที่จะเปรียบเทียบ ดังนั้นจึงมีพฤติกรรมที่ตรงกันข้ามกับฟังก์ชัน array_diff_assoc() ซึ่งใช้ฟังก์ชันภายในเพื่อเปรียบเทียบ
ชื่อของกุญแจในตัวแปรที่กลับค่ามักจะไม่เปลี่ยนแปลง
รายละเอียดเทคนิค
กลับค่า | กลับค่าตัวแปรความแตกต่าง ซึ่งประกอบด้วยข้อมูลทั้งหมดที่มีในตัวแปรที่เปรียบเทียบarray1แต่ไม่ได้มีในใดไหนของตัวแปรตัวอย่างarray2 หรือ array3 และอื่นๆ ของชื่อและค่าของกุญแจ |
PHP รุ่น: | 5+ |
ตัวอย่างเพิ่มเติม
ตัวอย่าง 1
เปรียบเทียบชื่อและค่าของกุญแจในตัวแปรแบบนี้ และกลับค่าความแตกต่าง (ใช้ฟังก์ชันที่กำหนดโดยผู้ใช้เพื่อเปรียบเทียบชื่อแกนคำ)
<?php function myfunction($a,$b) { if ($a===$b) { return 0; } return ($a>$b)?1:-1; } $a1=array("a"=>"red","b"=>"green","c"=>"blue"); $a2=array("a"=>"red","b"=>"green","d"=>"blue"); $a3=array("e"=>"yellow","a"=>"red","d"=>"blue"); $result=array_diff_uassoc($a1,$a2,$a3,"myfunction"); print_r($result); ?>