- Back to Home »
- arrays , compare , difference , duplicates , php , unique »
- ถ้าต้องการหาค่าที่แตกต่างกันใน อาร์เรย์ ทำอย่างไร ( find different value in array )
Posted by : caeruz
วันพุธที่ 13 มีนาคม พ.ศ. 2556
สืบเนื่องจาก วันนี้มีโปรแกรมเมอร์น้องใหม่ภายในแผนกเดินเข้ามาสอบถาม เกี่ยวกับว่าจะหา ค่าที่แตกต่างกันภายใน array นั้น จะทำอย่างไรได้บ้าง มี function ของ PHP ที่จะสามารถจัดการกับค่าเหล่านี้ได้หรือไม่ ? ตัวผมเองก็ความจำสั้น จำอะไรก็ไม่ค่อยได้ แต่พอนึกวิธีได้ในขณะนั้นก็เลยจัดแจง coding วิธีบ้านๆ ตามประสาคนความรู้น้อยให้น้องดูซะเลย (ไอ้เราก็ลืมเปิดดู manual ของ php --*)
ดูตัวอย่าง การหาค่าที่แตกต่างกันใน อาร์เรย์
วิธีที่ 1.
$array = array('apple', 'orange', 'pear', 'banana', 'apple', 'pear', 'kiwi', 'kiwi');
$array_duplicate = array();
$array_unique = array();
$array_duplicate_cnt = array();
foreach($array as $val){
if(++$array_duplicate_cnt[$val] > 1){
$array_duplicate[] = $val;
}else{
if( count (array_keys($array, $val)) == 1 ){
$array_unique[] = $val;
}
}
}
print_r($array_unique);
print_r($array_duplicate);
ผลลัพธ์ที่ได้
1. ค่าที่แตกต่างกันใน อาร์เรย์ ( unique array )
Array
( [0] => orange [1] => banana )
2. ค่าที่เหมือนกันใน อาร์เรย์ ( duplicate array )Array ( [0] => apple [1] => pear [2] => kiwi )อ้าาา .. แต่สำหรับ php แล้วการหาค่าที่แตกต่างกันภายใน อาร์เรย์ นั้น php ก็มี function ให้ใช้งานอยู่แล้วด้วย นั้นก็คือ array_unique() ซึ่งผลลัพธ์ที่ได้นั้น ก็จะเหมือนกับผลลัพธ์ แรกนั่นเอง สำหรับ Array Functions ใน php นั้นก็มี function ให้เลือกใช้งานกันอยู่ โดยสามารถดูข้อมูลเพิ่มเติมได้ที่ php manual
The 8 best poker rooms in Las Vegas - JMT Hub
ตอบลบWhat's 영주 출장안마 more, Vegas' two largest poker rooms are smaller, but 충청북도 출장마사지 still have 대전광역 출장샵 their own 광주광역 출장샵 casino, 남양주 출장안마 the Golden Nugget, located near the Las Vegas Strip.