เปรียบเทียบ ค่าคีย์ ของสองอาร์เรย์ (โดยใช้ฟังก์ชันที่ผู้ใช้กำหนดเพื่อเปรียบเทียบค่าคีย์) และส่งกลับจุดตัด:
<?php การทำงาน ฟังก์ชั่นของฉัน ( $a , $b ) - ถ้า ( $ก === $ข ) - กลับ 0 ; } กลับ ( $a > $b ) ? 1 : - 1 ; $a1 = array ( " a " => " red " , " b " => " green " , " c " => " blue " ) ; $a2 = array ( " a " => " blue " , " b " = > " black " , " e " = > " blue " ) ; $ result = array_uintersect ( $ a1 , $ a2 , " myfunction " ) ;ฟังก์ชัน array_uintersect() เปรียบเทียบ ค่าคีย์ ของอาร์เรย์สองตัว (หรือมากกว่า) และส่งกลับจุดตัด
หมายเหตุ: ฟังก์ชันนี้ใช้ฟังก์ชันที่ผู้ใช้กำหนดเพื่อเปรียบเทียบค่าคีย์!
ฟังก์ชั่นนี้เปรียบเทียบค่าคีย์ของอาร์เรย์สองตัว (หรือมากกว่า) และส่งกลับอาร์เรย์ทางแยกที่รวมค่าทั้งหมดในอาร์เรย์ที่เปรียบเทียบ ( array1 ) รวมถึงอาร์เรย์พารามิเตอร์อื่น ๆ ( array2 หรือ array3 ฯลฯ ) ) ในค่าคีย์
array_uintersect( array1,array2,array3...,ฟังก์ชั่นของฉัน )
พารามิเตอร์ | อธิบาย |
---|---|
อาร์เรย์1 | ที่จำเป็น. อาร์เรย์แรกที่จะเปรียบเทียบกับอาร์เรย์อื่นๆ |
อาร์เรย์2 | ที่จำเป็น. อาร์เรย์ที่จะเปรียบเทียบกับอาร์เรย์แรก |
อาร์เรย์3,... | ไม่จำเป็น. อาร์เรย์เพิ่มเติมเพื่อเปรียบเทียบกับอาร์เรย์แรก |
ฟังก์ชั่นของฉัน | ที่จำเป็น. สตริงที่กำหนดฟังก์ชันการเปรียบเทียบที่เรียกได้ หากพารามิเตอร์ตัวแรก <, =, > พารามิเตอร์ตัวที่สอง ฟังก์ชันการเปรียบเทียบที่เกี่ยวข้องจะต้องส่งคืนจำนวนเต็ม <, =, > 0 |
ค่าส่งคืน: | ส่งคืนอาร์เรย์อินเตอร์เซกชันที่มีคีย์ทั้งหมดในอาร์เรย์ที่เปรียบเทียบ ( array1 ) และอาร์เรย์พารามิเตอร์อื่น ๆ ( array2 หรือ array3 ฯลฯ ) |
---|---|
เวอร์ชัน PHP: | 5+ |
ใช้ฟังก์ชันในตัว strcasecmp เพื่อละเว้นการเปรียบเทียบขนาดตัวพิมพ์และส่งคืนจุดตัด:
<?php $ array1 = array ( " a " = > " green " , " b " = > " brown " , " c " = > " blue " , " red " ) ; , " B " = > " สีน้ำตาล " , " สีเหลือง " , " สีแดง " ) ; print_r ( array_uintersect ( $array1 , $array2 , " strcasecmp " ) ) ;