Basic PHP หมายเหตุ แต่ละคำสั่งในภาษา PHP จะจบท้ายคำสั่งด้วย semicolon (;) คำสั่งหรือฟังก์ชันในภาษา PHP นั้นจะเขียนด้วยตัวพิมพ์เล็กหรือใหญ่ก็ได้ การกำหนดและใช้ตัวแปร เริ่มต้นด้วยเครื่องหมาย dollar ($) สัญลักษณ์ \n หมายถึงการขึ้นบรรทัดใหม่ ข้อความในภาษา PHP จะเริ่มต้นและจบด้วย double quote (") การใช้ echo เพื่อแสดงข้อความ
เริ่มต้นด้วย <? และจบด้วย ?> และตรงกลางจะเป็นคำสั่งในภาษา PHP ตัวอย่างที่ 1 <HTML> <HEAD><TITLE> Homepage ฉันเอง </TITLE></HEAD> <BODY BGCOLOR=#FFFFFF><H1><? echo "สวัสดี พ่อแม่พี่น้อง"; ?></H1> <? $datastring = "สวัสดี พ่อ แม่ พี่น้อง"; $datainteger = 1024; $datafloat = 0.707; echo "$datastring\n"; echo "$datainteger\n"; echo "$datafloat\n"; ?> Your web browser is <? echo $HTTP_USER_AGENT; ?>. </BODY> </HTML>
เริ่มต้นด้วย <? และจบด้วย ?> และตรงกลางจะเป็นคำสั่งในภาษา PHP ตัวอย่างที่ 2 <HTML> <HEAD><TITLE> Homepage ฉันเอง </TITLE></HEAD> <BODY BGCOLOR=#FFFFFF> <? $x = 12; $y = $x + 17.5; echo "$x, $y <BR>\n"; $x = "abc"; echo "$x <BR>\n"; $z = $x + 19.5; echo "$x, $z <BR>\n"; echo ("1024.5" - 14); echo (0xef + 007); ?> </BODY> </HTML>
คำอธิบายในภาษา PHP ถ้าเราต้องการเขียนคำอธิบายในส่วนใดๆก็ตามของสคริปต์ เราก็จะสามารถทำได้โดยใช้ /* ... */ หรือ // หรือ # โปรดสังเกตว่า // ใช้เขียนนำคำอธิบายในภายบรรทัดหนึ่งๆ เท่านั้น ส่วน # ใช้เริ่มต้นของบรรทัดที่เขียนคำอธิบาย
การคำนวณทางคณิตศาสตร์ (1) และหาเศษจากการหารใช้ (%) การเปรียบเทียบตัวเลขสำหรับสร้างเงื่อนไข
การคำนวณทางคณิตศาสตร์ (2) การเพิ่มหรือลดค่าของตัวเลขในตัวแปรทีละหนึ่ง การกำหนดค่าของตัวแปรที่เป็นตัวเลข
ถ้าต้องการเช็คดูว่า ตัวแปรมีข้อมูลแบบใด เราสามารถใช้คำสั่ง gettype() ตัวอย่างที่ 3 <HTML> <HEAD><TITLE> Homepage ฉันเอง </TITLE></HEAD> <BODY BGCOLOR=#FFFFFF> <? echo gettype(0)," <BR>\n"; echo gettype(1.1)," <BR>\n"; echo gettype(""),"<BR>\n"; echo gettype((1==1))," <BR>\n"; $var = "abc"; if ( gettype($var)=="string" ) { echo "this is a string<BR>\n"; } ?> </BODY> </HTML>
ภาษา PHP ใช้ single quote (‘) แทน double quote (“) ได้ แต่เวลาใช้งานร่วมกับ echo หรือ print() จะให้ผลต่างกัน ตัวอย่างที่ 4 <HTML> <HEAD> <TITLE> Homepage ฉันเอง </TITLE> </HEAD> <BODY BGCOLOR=#FFFFFF> <? $a = "aaa"; $b = 'bbb'; echo "$a $b<BR>\n"; echo '$a $b<BR>\n'; ?> </BODY> </HTML>
การกำหนดค่าคงที่ ใช้ คำสั่ง DEFINE() เมื่อนิยามแล้วจะเปลี่ยนแปลงค่าอีกไม่ได้ ตัวอย่างที่ 5 <HTML> <HEAD> <TITLE> Homepage ฉันเอง </TITLE></HEAD> <BODY BGCOLOR=#FFFFFF> <? define(PI, 3.141592654); define(YES, true); define(NO, false); define("AUTHOR", "RWS"); echo (PI/3),"<BR>\n"; echo "AUTHOR=".AUTHOR."<BR>\n"; echo "YES=".YES."<BR>\n"; ?> </BODY> </HTML>
เงื่อนไขแบบ if-else ตัวอย่างที่ 6 <HTML><HEAD><TITLE> Homepage ฉันเอง </TITLE></HEAD> <BODY BGCOLOR=#FFFFFF> <? $x = -8; if ($x == 0) echo $x," is zero<BR>\n"; else if ($x > 0) echo $x," is positive<BR>\n"; else echo $x," is negative<BR>\n"; ?> </BODY> </HTML>
เงื่อนไขแบบ if-else (2) ตัวอย่างที่ 7 <HTML><HEAD><TITLE> Homepage ฉันเอง </TITLE></HEAD> <BODY BGCOLOR=#FFFFFF> <? $x = ((double)"100.1") + 0.3e+3; echo $x," <BR>\n"; echo ($x=(int)$x)," <BR>\n"; $x = "P".$x." "; echo $x," <BR>\n"; $x= ceil(13.45); /* get integer part */ echo $x," <BR>\n"; if (!settype( $x, "integer") ) { echo "error\n"; } echo $x," $x%5=",($x%5)," <BR>\n"; ?> </BODY> </HTML>
เงื่อนไขแบบ if-else (3) ตัวอย่างที่ 8 <HTML><HEAD><TITLE> Homepage ฉันเอง </TITLE></HEAD> <BODY BGCOLOR=#FFFFFF> <? $x = 5; if ($x == 0) { echo $x; echo " is zero.<BR>\n"; } else if ($x > 0) { echo $x; echo " is positive.<BR>\n"; } else { echo $x; echo " is negative.<BR>\n"; } ?> </BODY> </HTML>
โครงสร้างแบบ (เงื่อนไข) ? นิพจน์ โครงสร้างแบบ (เงื่อนไข) ? นิพจน์ ตัวอย่างที่ 9 <HTML> <HEAD> <TITLE> Homepage ฉันเอง </TITLE> </HEAD> <BODY BGCOLOR=#FFFFFF> <? $x= -0.1035; echo (($x < 0) ? -$x : $x),"<BR>\n"; ?> </BODY> </HTML>
การใช้ตัวแปรเป็นชื่อของตัวแปร ตัวอย่างที่ 10 <HTML> <HEAD> <TITLE> Homepage ฉันเอง </TITLE></HEAD> <BODY BGCOLOR=#FFFFFF> <? $a = "var1"; $$a = 10.3; echo "$a ${$a} $$a <BR>\n"; echo "$var1 <BR>\n"; ?> <? function foobar() { echo "foobar<BR>\n"; } function callFunc ($f) { if ( is_string($f) == true) { $f(); } } callFunc("foobar"); ?> </BODY> </HTML>
เลือกใช้ฟังก์ชัน is_long() เช็คค่าที่เป็นเลขจำนวนเต็ม, is_string() เช็คค่าที่เป็นสตริงค์, is_double() สำหรับค่าที่เป็นเลขทศนิยม, is_array() สำหรับค่าที่เป็นอาร์เรย์ หรือ is_object() สำหรับค่าที่เป็นวัตถุ(ออปเจค)จากคลาส ตัวอย่างที่ 11 <HTML> <HEAD><TITLE> Homepage ฉันเอง </TITLE></HEAD> <BODY BGCOLOR=#FFFFFF> <? unset($a); /* ใช้คำสั่ง unset() เพื่อลบค่าที่ตัวแปรเก็บอยู่ในขณะนั้น */ $a="hello"; if (is_string($a) == true) { echo "\$a is a string <BR>\n"; } unset($a); $a[]="red"; $a[]="green"; $a[]="blue"; echo “\$a[0] = $a[0]”; echo “\$a[1] = $a[1]”;echo “\$a[2] = $a[2]”; if (is_array($a) == true) { echo "\$a is an array of size ",count($a),"<BR>\n"; } ?> </BODY> </HTML>
การทำขั้นตอนซ้ำหรือวนลูปเพื่อทำงานซ้ำ while-do loop do-while loop for-loop
while-do loop ตัวอย่างที่ 12 <HTML> <HEAD> <TITLE> Homepage ฉันเอง </TITLE></HEAD> <BODY BGCOLOR=#FFFFFF> <? $x = 1; while ($x <= 12) { echo $x*$x,"\n"; $x++; } ?> </BODY> </HTML>
do-while loop ตัวอย่างที่ 13 <HTML> <HEAD> <TITLE> Homepage ฉันเอง </TITLE></HEAD> <BODY BGCOLOR=#FFFFFF> <? $x = 1; do { echo $x*$x,"<BR>\n"; $x++; } while ($x < 20); ?> </BODY> </HTML>
for-loop (1) ตัวอย่างที่ 14 <HTML> <HEAD> <TITLE> Homepage ฉันเอง </TITLE></HEAD> <BODY BGCOLOR=#FFFFFF> <? for ($x = 1; $x <=10; $x++) { echo $x*$x,"<BR>\n"; } ?> </BODY> </HTML>
for-loop (2) ตัวอย่างที่ 15 <HTML> <HEAD> <TITLE> Homepage ฉันเอง </TITLE></HEAD> <BODY BGCOLOR=#FFFFFF> <? $x=1; for ( ; $x <=10; $x++) { echo $x*$x,"<BR>\n"; } $x=1; for ( ; $x <=10; ) { echo $x*$x,"<BR>\n"; $x++; } ?> </BODY> </HTML>
for-loop (3) ตัวอย่างที่ 16 <HTML> <HEAD> <TITLE> Homepage ฉันเอง </TITLE></HEAD> <BODY BGCOLOR=#FFFFFF> <? for ($x=1, $y=0 ; $x < 10; $x++, $y--) { echo "$x $y<BR>\n"; } ?> </BODY> </HTML>
การใช้ break และ continue ภายในลูป ตัวอย่างที่ 17 <HTML> <HEAD> <TITLE> Homepage ฉันเอง </TITLE></HEAD> <BODY BGCOLOR=#FFFFFF> <? unset($a); $a[]=1; $a[]=2; $a[]=3; $a[]="red"; $a[]="green"; $a[]="blue"; $a[]="none"; $i=0; $found="not found"; for ($i=0; $i < count($a); $i++) { if ( is_long($a[$i]) ) { // skip all integer elements continue; } if ($a[$i] == "blue") { $found=$a[$i]; break; } } echo $found,"<BR>\n"; ?> </BODY> </HTML>
โครงสร้างแบบ switch-case (1) ตัวอย่างที่ 18 <HTML> <HEAD> <TITLE> Homepage ฉันเอง </TITLE></HEAD> <BODY BGCOLOR=#FFFFFF> <? $answer = ""; switch ($answer) { case "yes" : echo "The user said 'yes'.\n"; break; case "no" : echo "The user said 'no'.\n"; default: echo "The user said neither 'yes' nor 'no'.\n"; } ?> </BODY> </HTML>
โครงสร้างแบบ switch-case (2) ตัวอย่างที่ 19 <HTML> <HEAD> <TITLE> Homepage ฉันเอง </TITLE></HEAD> <BODY BGCOLOR=#FFFFFF> <? $answer = "yes"; switch ($answer) { case "yes" : case "no" : echo "The user said '",$answer,"'.\n"; break; default: echo "The user said neither 'yes' nor 'no'.\n"; } ?> </BODY> </HTML>
เปรียบเทียบใช้ "และ" "หรือ" "ไม่"
การใช้อาร์เรย์ (1) ตัวอย่างที่ 20 <HTML> <HEAD> <TITLE> Homepage ฉันเอง </TITLE></HEAD> <BODY BGCOLOR=#FFFFFF> <? $myarray[0] = 1; echo "number of elements =".count($myarray)."<BR>\n"; $myarray[1] = "abc"; echo "number of elements =".count($myarray)."<BR>\n"; $myarray[2] = 1.3; echo "number of elements =".count($myarray)."<BR>\n"; $myarray[]= 13+10; // the same as $myarray[3]= 13+10; echo "number of elements =".count($myarray)."<BR>\n"; for ($i=0; $i < 4; $i++) { echo $myarray[$i]," <BR>\n"; } ?> </BODY> </HTML>
การใช้อาร์เรย์ (2) ตัวอย่างที่ 21 <HTML> <HEAD> <TITLE> Homepage ฉันเอง </TITLE></HEAD> <BODY BGCOLOR=#FFFFFF> <? // create empty array $a=array(); // define string containing color names separated by | (pipe) $color_names="red|green|blue"; // create array from string $a=explode("|",$color_names); while ( $color=each($a) ) { echo "$color[1]<BR>\n"; // note: $color[0] contains the index (0,1,2,...) } ?> </BODY> </HTML>