ฟังก์ชัน iterator_count()
ใน php มีฟังก์ชันที่สามารถนับจำนวนสิ่งที่อยู่ใน loop หรือนับองค์ประกอบของ loop มากมาย แต่สำหรับบทความนี้จะแนะนำอีกวิธีหนึ่ง ซึ่งเป็นฟังชั่นที่น่าสนใจไม่น้อย
ฟังก์ชัน iterator_count() จะทำหน้าที่สำหรับนับองค์ประกอบในตัว วนซ้ำ หรือว่า Loop ฟังก์ชันสามารถคืนค่าเป้น int หรือจำนวนขององค์ประกอบที่นับได้
หลายๆคนอาจจะไม่คุ้นเคยฟังก์ชั่นนี้ แต่เราสามารถทดลองนำไปปรับใช้กันได้น่ะครับ
รูปแบบ syntex
iterator_count ( Traversable $iterator ) : int
แต่ทั้งนี้ในการนับองค์ประกอบในตัววนซ้ำ iterator_count () iterator จะไม่รับประกันว่าจะรักษาตำแหน่งปัจจุบันของ iterator
iterator คือ ตัววนซ้ำถูกนับ
การคืนค่า
ฟังก์นี้จะคืนค่าจำนวนขององค์ประกอบใน iterator
ตัวอย่างโค้ด
<?php
$iterator = new ArrayIterator(array('recipe'=>'pancakes', 'egg', 'milk', 'flour'));
var_dump(iterator_count($iterator));
?>
ผลลัพธ์ที่ได้
int(4)
จะเห็นว่ามีองค์ประกอบทั้งหมด 4 องค์ประกอบ
ตัวอย่างต่อไป
<?php
$iterator = new ArrayIterator(['one', 'two', 'three']);
var_dump($iterator->current());
var_dump(iterator_count($iterator));
var_dump($iterator->current());
?>
ผลลัพธ์ที่ได้
string(3) "one"
int(3)
NULL
ตัวอย่างสุดท้าย
<?php
$iterator = new ArrayIterator(['one', 'two', 'three']);
foreach ($iterator as $key => $value) {
echo "$key: $value (", iterator_count($iterator), ")\n";
}?>
ผลลัพธ์ที่ได้
0: one (3)
จะเห็นว่าเราสามารถนำมาประยุกต์ได้หลากลายรูปแบบน่ะครับ ไม่ว่าจะเอาไว้นับองค์ประกอบหรือตรวจสอบก็ตามน่ะครับ แต่ทั้งนี้เราทำความเข้าใจของการใช้งาน Loop,การใช้อาร์เรย์ , foreachและ ฟังก์ชั่น var_dump() หวังว่าบทความนี้จะเป็นประโยชน์และสามารถนำไปต่อยอดกันได้น่ะครับ