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

ตอบกระทู้

รูปแสดงอารมณ์
:icon_plusone: :like: :plusone: :gfb: :-D :) :( :-o 8O :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: :angry: :baa: :biggrin:
รูปแสดงอารมณ์อื่นๆ

BBCode เปิด
[img] เปิด
[url] เปิด
[Smile icon] เปิด

กระทู้แนะนำ
   

มุมมองที่ขยายได้ กระทู้แนะนำ: ถามผู้รู้ php เกี่ยวกับ {}และ ;

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

โดย rangsun6342 » 26/12/2012 9:42 am

โอยปวดหัวฮิ

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

โดย touleg » 11/12/2012 1:07 am

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

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

เช่น

โค้ด: เลือกทั้งหมด

for($down=1;$down<=12;$down++)
$ans=$up*$down;
echo "$up X $down = $ans<br>";
 
มันจะวนลูปแค่บรรทัด $ans=$up*$down; จนเสร็จ แล้วถึงจะมาทำ echo

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

โค้ด: เลือกทั้งหมด

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 เกี่ยวกับ {}และ ;

โดย mindphp » 09/12/2012 5:46 pm

ถ้ามี { ต้องคู่กับ } เสมอ
ถ้าต้องการให้จบคำสั่งแค่ละบรรทัด ให้ใส่ ;

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

โดย howlong » 09/12/2012 3:30 pm

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

โค้ด: เลือกทั้งหมด

<?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 ออก

โค้ด: เลือกทั้งหมด

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

โค้ด: เลือกทั้งหมด

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++);

โค้ด: เลือกทั้งหมด

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

โค้ด: เลือกทั้งหมด

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:

ข้างบน