แสดงบทความที่มีป้ายกำกับ difference แสดงบทความทั้งหมด
ถ้าต้องการหาค่าที่แตกต่างกันใน อาร์เรย์ ทำอย่างไร ( find different value in array )
สืบเนื่องจาก วันนี้มีโปรแกรมเมอร์น้องใหม่ภายในแผนกเดินเข้ามาสอบถาม เกี่ยวกับว่าจะหา ค่าที่แตกต่างกันภายใน 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
วันพุธที่ 13 มีนาคม พ.ศ. 2556
Posted by caeruz