วันนี้ไปเจอโจทที่ลูกค้าต้องการคือ ต้องการ group ข้อความ ใน Array ที่ซ่ำๆให้แสดงเพี่ยงแค่ข้อความเดียว ผมเลยไปค้นหาแล้วเจอเลยจะมาแชร์ให้ดูกันนะครับ
โดย php script มีดังนี้
1 2 3 4 5 6 7 8 9 10 11 12 |
<?php $txt_a = “โรคหลอดเลือดสมองตีบ;ฮอร์โมนไทรอยด์เกิน;โรคเครียด;โรคน้ำในหูไม่เท่ากัน;โรคเครียด;โรคหลอดเลือดสมองตีบ”; $data = explode(“;”, $txt_a); $n = array_count_values($data); arsort($n); foreach ($n as $key => $value) { echo $key . ” (” .$value.”)<br>” ; } ?> |
ผลการ run จะได้ดังนี้
โรคเครียด (2)
โรคหลอดเลือดสมองตีบ (2)
โรคน้ำในหูไม่เท่ากัน (1)
ฮอร์โมนไทรอยด์เกิน (1)
ง่ายไหมครับ
สิ่งที่ต้อง focus คือ array_count_values
คืออะไรดูตาม link นะครับ http://www.php.net/manual/en/function.array-count-values.php