ทำยังไงให้ count() นับข้าม empty array?

สำหรับผู้ที่ เริ่มต้น Programming - PHP มีอะไร แนะนำ หรือข้อสงสัยต้องบอร์ด นี้ คนที่มีความรู้ แบ่งปันคนอื่นบ้างนะ ปัญหาการเขียนโปรแกรม แบบ OOP Session Cookies php network

Moderators: mindphp, ผู้ดูแลกระดาน

4404

ทำยังไงให้ count() นับข้าม empty array?

Post by 4404 »

Code: Select all

<?php

$x=array(0,1,2,3,4,5,6,7,8);
$x[20]=999;

print "<BR><BR>Count = ".count($x);

for($i=0;$i<count($x);$i++) print $x[$i]." ";

?>
ตามโค๊ด count($x) จะได้ 10 ใช่มั้ยครับ
ผมอยากให้มันนับตัวที่ [20] เป็น 11 ต้องทำยังไงหรอครับ
เวลา print มาจะได้รวม 999 มาใน for ด้วย??
User avatar
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
Posts: 26667
Joined: 22/09/2008 6:18 pm
Contact:

Re: ทำยังไงให้ count() นับข้าม empty array?

Post by mindphp »

ใช้ array_keys($x) อ่านชื่อ key มันก็ได้
หรือถ้าแค่ต้องการทำ loop array ทั้งหมด ใช้ ตัวนี้ดีกว่าไหมครับ
foreach()
แทน for loop ก็ได้ครับ
น่าจะตรงความต้องการมากว่า
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
4404

Re: ทำยังไงให้ count() นับข้าม empty array?

Post by 4404 »

mindphp wrote:ใช้ array_keys($x) อ่านชื่อ key มันก็ได้
หรือถ้าแค่ต้องการทำ loop array ทั้งหมด ใช้ ตัวนี้ดีกว่าไหมครับ
foreach()
แทน for loop ก็ได้ครับ
น่าจะตรงความต้องการมากว่า
ใช้ array_keys($x) แทนใน

Code: Select all

for($i=0;$i<array_keys($x);$i++)

เลยหรอครับผมรันแล้วค้างไปเลย

ลองไปใส่แทน

Code: Select all

print "<BR><BR>Count = ".array_keys($x);
ดันได้เป็นคำว่า Array

ผมแค่อยากให้ใน loop มันปริ้น 999 มาด้วยอ่ะครับ
ส่วน foreach อาจารย์ยังไม่ให้ใช้ในข้อนี้หน่ะครับ มือใหม่ๆ
Post Reply
  • Similar Topics
    Replies
    Views
    Last post

Return to “Programming - PHP”

Who is online

Users browsing this forum: No registered users and 15 guests