การทำให้ object ของเราสามารถใช้ function count ได้เหมือนกับ array

ในการทำงานกับ object ใดๆ ในบางครั้งเราอยากที่จะทำการเรียกใช้ function count เหมือนอย่าง array บ้าง เพราะบางทีเราอยากที่จะวน loop for เพื่อเข้าถึงสมาชิกของ object ทุกตัว หรืออาจอยากได้จำนวนของ object นั้นๆไปประยุกต์ใช้งานทำอย่างอื่น แต่เราไม่สามารถที่จะใช้ function count ได้เหมือนกับ array

วิธีการที่จะทำให้ object นั้นสามารถ count ได้ ก่อนอื่นเราต้องทำการ count มันให้ได้ก่อน ขึ้นอยู่กับว่าเราเลือกที่จะ count ด้วยวิธีไหน อาจเป็นการ count โดย Query ข้อมูลจากฐานข้อมูล โดยใช้ SELECT COUNT(*) …. หรือการ count object โดยการนับ object ที่ทำการ new ขึ้นมาก็แล้วแต่ เราจะไม่ได้ลงในรายละเอียดของวิธีการ count แต่ละแบบ แต่ในตัวอย่างเราจะเลือกอย่างหลังคือทำการนับ object ที่ได้ทำการ instantiate ขึ้นมา

ในตัวอย่างนี้ตัวแปร $num จะเพิ่มขึ้นทุกครั้งที่มีการ new Student ขึ้นมาใช้งาน แต่จุดประสงค์หลักของบทความนี้คือต้องการเอาค่า $num ที่นับได้ไปแสดงผลโดยการใช้ function count เราเลยต้องทำการ implement interface ที่ชื่อว่า countable เพื่อให้ใช้ function count กับ object นี้ได้

เพียงแค่นี้ดราก็จะสามารถใช้ function count กับ object ได้แล้ว