Page 1 of 1

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

Posted: 09/12/2012 3:30 pm
by howlong
คือผมเริ่มหัดเขียน 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:

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

Posted: 09/12/2012 5:46 pm
by mindphp
ถ้ามี { ต้องคู่กับ } เสมอ
ถ้าต้องการให้จบคำสั่งแค่ละบรรทัด ให้ใส่ ;

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

Posted: 11/12/2012 1:07 am
by touleg
คำสั่ง 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 บรรทัด จึงต้องใส่ { } ครอบ

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

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

Posted: 26/12/2012 9:42 am
by rangsun6342
โอยปวดหัวฮิ