ดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งาน
 

ฟังก์ชัน 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()  หวังว่าบทความนี้จะเป็นประโยชน์และสามารถนำไปต่อยอดกันได้น่ะครับ

ช่องทางการศึกษาเพิ่มเติมข่าวที่น่าสนใจเกี่ยวกับ : ฟังก์ชัน PHP

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
อยากทราบวิธีการปรับแก้ไข ค่าของคอลลัม in_message ในการแนบไฟล์รูปภาพของ pm ใน phpbb
โดย Ittichai_chupol พ 06 พ.ย. 2019 6:11 pm บอร์ด Programming - PHP
4
77
พ 06 พ.ย. 2019 6:47 pm โดย Ittichai_chupol
4 ขั้นตอนง่ายๆในการทำ Infographic ด้วย Photoshop
โดย numtan5839 พ 06 พ.ย. 2019 6:36 pm บอร์ด Graphic design
0
42
พ 06 พ.ย. 2019 6:36 pm โดย numtan5839
วิธีการสร้าง Brand identity ด้วยโปรแกรม Canva
โดย numtan5839 พ 06 พ.ย. 2019 5:13 pm บอร์ด Graphic design
0
37
พ 06 พ.ย. 2019 5:13 pm โดย numtan5839
ออกแบบ UI ง่ายๆด้วย Adobe illustrator
โดย numtan5839 พ 06 พ.ย. 2019 3:57 pm บอร์ด Graphic design
0
40
พ 06 พ.ย. 2019 3:57 pm โดย numtan5839
การใช้ API ของไปรษณีย์ไทย
โดย bankjittapol พ 06 พ.ย. 2019 2:51 pm บอร์ด PHP Knowledge
0
54
พ 06 พ.ย. 2019 2:51 pm โดย bankjittapol
การปัดเศษ สรรพกรยอมรับการปัดเศษ เเบบรายสินค้า หรือ ยอดรวม ค่ะ
โดย thatsawan พ 06 พ.ย. 2019 11:15 am บอร์ด ถาม - ตอบ ธุรกิจ กฏหมาย ภาษี บัญชี
0
43
พ 06 พ.ย. 2019 11:15 am โดย thatsawan
ผู้เล่นตัวจริงในสนาม (Football Lineup) แผนการเล่น เริ่มต้นใน สนาม ผู้เล่นชุดแรก และการจัดตัว
โดย bankjittapol พ 06 พ.ย. 2019 10:49 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
39
พ 06 พ.ย. 2019 10:49 am โดย bankjittapol
งานประจำวันที่ 6 พฤศจิกายน 2562
โดย numtan5839 พ 06 พ.ย. 2019 10:19 am บอร์ด M097 - ตรีเนตร บูรณโพธิ์ทอง
5
44
พ 06 พ.ย. 2019 6:47 pm โดย numtan5839
ขอ code วนลูป และเก็บใน dictionary
โดย Anonymous อ 05 พ.ย. 2019 7:08 pm บอร์ด Programming - C/C++ & java & Python
1
123
อ 05 พ.ย. 2019 8:07 pm โดย mindphp
max_allowed_packet คืออะไร ฐานข้อมูล MySQL , mariadb
โดย mindphp อ 05 พ.ย. 2019 5:46 pm บอร์ด SQL Knowledge
0
40
อ 05 พ.ย. 2019 5:46 pm โดย mindphp
ฟุตบอล
โดย bankjittapol อ 05 พ.ย. 2019 4:30 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
55
อ 05 พ.ย. 2019 4:30 pm โดย bankjittapol
ข้อดีของ Chat Bot
โดย numtan5839 อ 05 พ.ย. 2019 4:22 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
1
31
พ 06 พ.ย. 2019 1:39 pm โดย numtan5839
ข้อดีของการทำธุรกิจแบบ e-commerce
โดย numtan5839 อ 05 พ.ย. 2019 3:59 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
1
27
พ 06 พ.ย. 2019 1:39 pm โดย numtan5839
หลักในการออกแบบ UI
โดย numtan5839 อ 05 พ.ย. 2019 3:33 pm บอร์ด Graphic design
1
75
พ 06 พ.ย. 2019 2:00 pm โดย numtan5839
ต้องการจะ input ชื่อนักเตะตามตำแหน่งที่คลิก
โดย bankjittapol อ 05 พ.ย. 2019 3:33 pm บอร์ด JavaScript & Jquery Ajax
2
99
ศ 08 พ.ย. 2019 2:11 pm โดย bankjittapol
การวิเคราะห์การตลาด (SWOT) และการเลือกจัดทำโปรโมชั่นให้เหมาะสมกับธุรกิจ
โดย numtan5839 อ 05 พ.ย. 2019 2:39 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
1
26
พ 06 พ.ย. 2019 2:39 pm โดย numtan5839
แผนการเล่น ฟุตบอล
โดย bankjittapol อ 05 พ.ย. 2019 2:30 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
57
อ 05 พ.ย. 2019 2:30 pm โดย bankjittapol
การตั้งค่าสกุลเงินตราต่างประเทศในระบบ ERP - OpenERP
โดย nnamfon.26 อ 05 พ.ย. 2019 1:51 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
1
66
พ 13 พ.ย. 2019 4:51 pm โดย jiraporn66
ขั้นตอนการทำธุรกิจ e-commerce
โดย numtan5839 อ 05 พ.ย. 2019 1:41 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
1
27
พ 06 พ.ย. 2019 2:12 pm โดย numtan5839
ต้องการบันทึก แผนการเล่นเป็นภาพ
โดย bankjittapol อ 05 พ.ย. 2019 11:50 am บอร์ด JavaScript & Jquery Ajax
0
40
อ 05 พ.ย. 2019 11:50 am โดย bankjittapol