ถามผู้รู้ php เกี่ยวกับ {}และ ;

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

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

howlong

ถามผู้รู้ php เกี่ยวกับ {}และ ;

Postby howlong » 09/12/2012 3:30 pm

คือผมเริ่มหัดเขียน php ครับ
ถ้าผมเขียนแบบนี้

Code: Select all

<?php
for($up=1;$up<=12;$up++){
for($down=1;$down<=12;$down++){
$ans=$up*$down;
echo "$up X $down = $ans<br>";
}
}
?>

มันจะเป็น สูตรคูณแม่ 1 ถึง 12 ตามที่ผมตั้งใจที่จะให้เป็น

แต่ถ้า้เอาปีกกาตรง for loop ที่ 2 ออก

Code: Select all

<?php
for($up=1;$up<=12;$up++){
for($down=1;$down<=12;$down++)
$ans=$up*$down;
echo "$up X $down = $ans<br>";
}
?>

Code: Select all

1 X 13 = 12
2 X 13 = 24
3 X 13 = 36
4 X 13 = 48
5 X 13 = 60
6 X 13 = 72
7 X 13 = 84
8 X 13 = 96
9 X 13 = 108
10 X 13 = 120
11 X 13 = 132
12 X 13 = 144

มันจะเป็นแบบนี้
หรือหากผมไปเติ่ม ; ตรง for($up=1;$up<=12;$up++);

Code: Select all

<?php
for($up=1;$up<=12;$up++);{
for($down=1;$down<=12;$down++){
$ans=$up*$down;
echo "$up X $down = $ans<br>";
}
}
?>

Code: Select all

13 X 1 = 13
13 X 2 = 26
13 X 3 = 39
13 X 4 = 52
13 X 5 = 65
13 X 6 = 78
13 X 7 = 91
13 X 8 = 104
13 X 9 = 117
13 X 10 = 130
13 X 11 = 143
13 X 12 = 156


คือผมอยากให้ช่วยอธิบายเกี่ยวกับการเติม {} และ ; หน่อยนะครับ คิดจนปวดหัวแล้วครับ ขอบคุณครับผม  :wanwan017:

User avatar
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
Posts: 21758
Joined: 22/09/2008 6:18 pm
Contact:

Re: ถามผู้รู้ php เกี่ยวกับ {}และ ;

Postby mindphp » 09/12/2012 5:46 pm

ถ้ามี { ต้องคู่กับ } เสมอ
ถ้าต้องการให้จบคำสั่งแค่ละบรรทัด ให้ใส่ ;
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: viewforum.php?f=29
รับอบรม และพัฒนาระบบ: viewtopic.php?f=6&t=2042

touleg
PHP Super Member
PHP Super Member
Posts: 480
Joined: 25/01/2010 11:57 pm
Contact:

Re: ถามผู้รู้ php เกี่ยวกับ {}และ ;

Postby touleg » 11/12/2012 1:07 am

คำสั่ง if for while foreach พวกนี้ไม่ต้องใส่ ; ตามหลังคำสั่ง ถ้าใส่เข้าไปมันจะจบคำสั่งนั้นทันที

และหากไม่ใส่ { } มันจะทำคำสั่งเพียงแค่ถัดลงมา 1 บรรทัด

เช่น

Code: Select all

for($down=1;$down<=12;$down++)
$ans=$up*$down;
echo "$up X $down = $ans<br>";
 


มันจะวนลูปแค่บรรทัด $ans=$up*$down; จนเสร็จ แล้วถึงจะมาทำ echo

แต่คุณสามารถใช้แบบนี้ได้

Code: Select all

for($up=1;$up<=12;$up++)
   for($down=1;$down<=12;$down++)
   {
       $ans=$up*$down;
       echo "$up X $down = $ans<br>";
   }
 


จะเห็นว่า loop นอกไม่มี { } ครอบ หมายความว่ามันจะทำคำสั่งถัดไปแค่ 1 บรรทัด
แต่คำสั่งถัดไปมันเป็นวนลูปเหมือนกัน ดังนั้นมันจะทำในลูปของคำสั่งนี้ด้วย
แต่จะเห็นว่า loop นี้จะมี { } ครอบ เพราะว่าภายในนั้นมีคำสั่งที่ต้องวนลูปด้วยอยู่ 2 บรรทัด จึงต้องใส่ { } ครอบ

อย่างไรก็ตาม เพื่อให้ง่ายต่อการดูโค้ดผมแนะนำให้ใส่ { } ครอบทุกครั้ง แม้ว่ามันจะมีคำสั่งภายในแค่บรรทัดเดียว และไม่ควรใส่ ; หลังคำสั่งพวกนี้ เพราะมันไม่มีประโยชน์ ใส่ไปมันก็เอาไปใช้อะไรไม่ได้ แล้วจะเขียนมันขึ้นมาทำไม

rangsun6342

Re: ถามผู้รู้ php เกี่ยวกับ {}และ ;

Postby rangsun6342 » 26/12/2012 9:42 am

โอยปวดหัวฮิ


Return to “Programming - PHP”

Who is online

Users browsing this forum: No registered users and 45 guests