Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> PHP

ลบองค์ประกอบที่ซ้ำกันของ associative array ใน PHP


ฟังก์ชัน 'array_map' จะส่งค่าของทุกองค์ประกอบในอาร์เรย์ไปยังฟังก์ชันที่ผู้ใช้กำหนดเอง จากนั้นจะส่งคืนอาร์เรย์ที่มีค่าใหม่ เนื่องจากการเรียกใช้ฟังก์ชันที่ผู้ใช้กำหนดเองในอาร์เรย์

รูปแบบของฟังก์ชัน array_map

array_map ( user-defined function, array_1, array_2, array_3…)

ฟังก์ชันที่ผู้ใช้กำหนดและ array_1 เป็นอาร์กิวเมนต์บังคับ แต่ array_2 และ array_3 เป็นทางเลือก

ตัวอย่าง

$result = array(
   0=>array('a'=>1,'b'=>'Hello'),
   1=>array('a'=>1,'b'=>'duplicate_val'),
   2=>array('a'=>1,'b'=>'duplicate_val')
);
$unique = array_map("unserialize", array_unique(array_map("serialize", $result)));
print_r($unique);

ผลลัพธ์

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

Array ( [0] => Array ( [a] => 1 [b] => Hello ) [1] => Array ( [a] => 1 [b] => duplicate_val ) )

ในโค้ดด้านบนนี้ อาร์เรย์ถูกกำหนดด้วย 3 องค์ประกอบ และถูกกำหนดให้กับตัวแปรชื่อ 'result' มีการเรียกฟังก์ชัน array_map และค่า 'ผลลัพธ์' จะถูกส่งต่อเป็นพารามิเตอร์

ผลลัพธ์ที่ได้จะเป็นเนื้อหาในตัวแปร 'result' พร้อมกับกล่าวถึงค่าที่ซ้ำกันในอาร์เรย์