PHP เบื้องต้น :ตัวแปร ตัวดำเนินการและนิพจน์ เสรี ชิโนดม seree@buu.ac.th
รูปแบบข้อความสั่งในภาษาPHP ข้อความสั่งของPHP ต้องเขียนภายใต้แท็กเปิดและแท็กปิดของ PHP และปิดท้ายด้วยเครื่องหมาย semicolon เช่น <? echo “my program. <BR>” ; ?> PHP Programming
Whitespace Whitespace เป็นตัวอักษรหรือข้อความสั่งที่มองไม่เห็น แต่ทำให้เกิดช่องว่างหรือขึ้นบรรทัดใหม่ซึ่งประกอบด้วย carriage return spaceและ tabs ภาษา PHP และ HTML จะไม่สนใจ Whitespace เช่น echo “Burapha University”; echo “Bangsaen”; เหมือนกับ echo “Burapha University”;echo “Bangsaen”; PHP Programming
Comments Commentsคือส่วนที่ผู้เขียนโปรแกรมใช้สำหรับอธิบายรายละเอียดของโปรแกรม เพื่อประโยชน์ในการทำความเข้าใจ เพือความสะดวกเมื่อต้องการแก้ไขโปรแกรม ตัวแปรภาษาจะมองข้ามข้อความที่เป็นคำอธิบายการ เหมือนกับการเขียน Comment ของภาษา C, C++ และ Unix /* แบบหลายบรรทัดตั้งแต่ 2 บรรทัดขึ้นไป */ # การ comment แบบ shell-style ตัวอย่าง <? echo “Hello !”; // การ comment แบบ 1 บรรทัด echo “World”; # การ comment แบบ shell-style ?> PHP Programming
คำสั่ง echo เป็นคำสั่งสำหรับแสดงผลลัพธ์ไปที่โปรแกรม browser รูปแบบ ข้อความ เขียนภายใต้เครื่องหมาย double quote (“ “) หรือ single quote (‘ ‘) ตัวแปรของภาษา PHP จะขึ้นต้นด้วยเครื่องหมาย $ เสมอ คล้ายกับภาษา Perl PHP Programming
ตัวแปร (variable) ตัวแปร เป็นชื่อที่เราตั้งขึ้น เพื่อให้คอมพิวเตอร์เตรียมที่ในหน่วยความจำไว้สำหรับเก็บข้อมูลที่นำไปประมวลผล การตั้งชื่อตัวแปร ชื่อตัวแปรในภาษา PHP จะเริ่มต้นด้วยเครื่องหมาย dollar ($) ตัวอักษรตัวแรกต้องไม่เป็นตัวเลข การใช้ตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ไม่เหมือนกัน ไม่ต้องประกาศและกำหนดแบบของข้อมูล (data type) อย่างเจาะจงเหมือนในภาษาซี หรือ ปาสคาล ตัวแปลภาษาจะจำแนกเองโดยอัตโนมัติว่า ตัวแปรดังกล่าว ใช้ข้อมูลแบบใด ในช่วงเวลานั้นๆ PHP Programming
การกำหนดค่าให้ตัวแปร การกำหนดค่าให้กับตัวแปรจะใช้คำสั่งกำหนดค่า (Assigment Statement) รูปแบบมีดังนี้ $ชื่อตัวแปร = ค่าที่เก็บ ; $mystring = "Hello World!"; $myinteger = 72; $myfloat = 3.14; การแสดงค่าตัวแปรใช้คำสั่งแสดงผลเช่น echo PHP Programming
ตัวอย่าง var2-0.php3 <? $test = 10; echo $test; echo "<BR>"; echo "$test <BR>"; echo "แสดงชื่อตัวแปรพร้อมเครื่องหมาย $ <BR>"; echo "$". "test"; ?> PHP Programming
ตัวอย่าง <? $x = 10; $y = $x + 15.5; echo "$x, $y<BR> \n"; $x = "abc"; echo "$x <BR>\n"; $z = $x + 15.5; echo "$x, $z <BR>\n"; echo ("100.5" - 16); echo (0xef + 007); ?> 10, 25.5 abc abc, 15.5 84.5246 PHP Programming
ตัวอย่าง <? // Assign a value of 46 to a variable // called $int_page_nummber. $int_page_number = 46; echo “$int_page_number\n”; // Assign a string value to a variable // called $str_magazine_title. $str_magazine_title = 'PHP is good!'; echo “$str_magazine_title”; ?> 46 PHP is good! PHP Programming
ตัวอย่าง <? // Assign a value of 46 to a variable // called $int_page_nummber. $int_page_number = 46; // Increment the page number variable. $int_page_number = $int_page_number + 1; echo “$int_page_number\n”; ?> 47 PHP Programming
ชนิดของตัวแปรในภาษา PHP Scarlar varible Array variable Object variable PHP Programming
Scarlar variable ตัวแปรสเกลาร์คือตัวแปรที่ใช้เก็บข้อมูล ที่เป็นจำนวนเต็ม (Integer), จำนวนทศนิยม (floating point)หรือ สตริงก์ (String) Integer : ข้อมูลชนิดเลขจำนวนเต็ม เช่น 1, 10, 100, 123 เป็นต้น floating-point numbers : ข้อมูลชนิดเลขทศนิยม เช่น 1.10, 1.2e-10 เป็นต้น Single- quoted String : ข้อมูลตัวอักษรเขียนภายใต้เครื่องหมาย single quote Double-quoted String คือ: ชุดข้อมูลตัวอักษรเขียนภายใต้เครื่องหมาย double quote คล้ายกับ single-quoted string แต่มีความซับซ้อนกว่าโดยเราสามารถใช้เครื่องหมาย \ เพื่อเพิ่ม escape sequence หรือ meta characters ในสตริงก์ PHP Programming
ตัวอย่าง cal-2.php <html> <body> <? $b=3; $h=4; $area = (1/2) * $b * $h; echo "<font size=6 face=\"arial\">"; echo "Area is $area<br>"; ?> </body> </html> PHP Programming
ตัวแปรอาร์เรย์ (Array Variables) ตัวแปรอาร์เรย์ในภาษา PHP เป็นตัวแปรที่ใช้เก็บข้อมูลที่เป็นชนิดเดียวกันหรือต่างชนิดกัน ลักษณะการเก็บจะเป็นชุดหรือเป็นแถวเรียงต่อกัน.. การกำหนดตัวแปรแบบอาร์เรย์ในภาษา PHP กำหนดโดยเครื่องหมาย $ นำหน้าชื่อของตัวแปรนั้น แบบที่ 1 $arr_zoo[‘perican’] = ‘ Bird with a big beak.’ ; $arr_zoo[‘cheetah’] = ‘ Fast cat.’ ; $arr_zoo[‘horse’] = ‘ Four-legged animal.’ ; PHP Programming
$arr_names[] = ‘Mitch’ ; $arr_names[] = ‘Gerry’ ; แบบที่ 2 $arr_names[] = ‘Mitch’ ; $arr_names[] = ‘Gerry’ ; $arr_names[] = ‘Tim’ ; แบบที่ 3 $key = ‘pelican’ ; $value = $arr_zoo[$key] ; หรือ $value = $arr_zoo[pelican] ; PHP Programming
ตัวอย่าง array-1.php <html> <body> <? $arr[0] = "Red"; $arr[1] = "Green"; $arr[2] = "Blue"; $arr[3] = "White"; echo " $arr[0] , $arr[1] ,$arr[2] ,$arr[3] " ; ?> </body> </html> PHP Programming
Variable Interpolation หมายถึงการที่ภาษา PHP สามารถที่จะแทนชื่อตัวแปรด้วยค่าที่เก็บภายใต้เครื่องหมาย double-quote เช่น $str_size = “big” ; echo “Jack was a $str_size man.” ; ซึ่งจะได้ผลลัพธ์เป็น Jack was a big man.” แต่ถ้ากำหนดเป็น echo ‘Jack was a $str_size man.’ ; Jack was a $str_size man. PHP Programming
Dynamic Variable Names ภาษา PHP อนุญาตให้มีการสร้าง ตัวแปรแบบ dynamic โดยในขณะที่โปรแกรมกำลังรันอยู่ สามารถ สร้างตัวแปรใหม่ได้โดยใช้สัญลักษณ์พิเศษ // store the name of dynamic variable. $scl_dynamic = ‘str_name’ ; // assign a value to the dynamic variable. $$scl_dynamic = ‘John’ ; echo “\$scl_dynamic = $str_name\n” ; ซึ่งจะได้ผลลัพธ์เป็น $scl_dynamic = John PHP Programming
การกำหนดค่าคงที่(Constants) ในภาษา PHP มีการกำหนดสัญลักษณ์ให้เก็บค่าคงที่ เช่น อาจจะเป็นสตริงก์หรือตัวเลขก็ได้ กำหนดโดยใช้ คำสั่ง define() สัญลักษณ์ที่กำหนดโดยคำสั่ง define() จะเหมือนกันตัวแปรทั่วๆไป แต่แตกต่างตรงที่ว่า เมื่อนิยามแล้วจะเปลี่ยนแปลงค่าอีกไม่ได้ PHP Programming
ตัวอย่าง Hello, World! <HTML> <HEAD> <TITLE>Figure 2-7</TITLE> </HEAD> <BODY> <? define("STANDARD_GREETING", "Hello, World!"); print(STANDARD_GREETING); ?> </BODY> </HTML> Hello, World! PHP Programming
ตัวอย่าง 1.0471975513333 AUTHOR=RWS YES=1 <? 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"; ?> 1.0471975513333 AUTHOR=RWS YES=1 PHP Programming
การอ่านและแปลงแบบข้อมูล ในตัวแปรหรือค่าคงที่แบบเจาะจง เราสามารถแปลงแบบข้อมูลจากแบบหนึ่งไปยังอีกแบบหนึ่ง (type casting) เช่น แปลงจากข้อความที่มีเฉพาะตัวเลขให้กลายเป็นเลขจำนวนเต็ม (int) หรือทศนิยม (double, float, real) หรืออาจจะใช้คำสั่ง settype() PHP Programming
ตัวอย่าง <? $x = 30.2; $y =12.5; $z = $x + $y; echo "z= ".$z. "<BR>"; $x = (integer)$x; $y = (integer)$y; $z = $x + $y ; echo "z= ".$z ; ?> PHP Programming
การอ่านแบบข้อมูลของตัวแปรหรือค่าคงที่ ถ้าต้องการตรวจว่า ตัวแปรมีข้อมูลแบบใด เราสามารถใช้คำสั่ง gettype() ได้ ค่าที่ได้จากฟังก์ชันก็จะเป็น "integer" "double" หรือ "string" เป็นต้น PHP Programming
ตัวอย่าง <? echo gettype(0),”<BR>"; $var="abc"; if ( gettype($var)=="string" ) { echo "this is a string<BR>"; } ?> integer double string this is a string PHP Programming
การใช้ echo เพื่อแสดงข้อความ การพิมพ์ค่าใดๆที่เก็บอยู่ในตัวแปร ถ้าชื่อของตัวแปรอยู่ในสตริงก์ระหว่าง double quote เวลาแสดงผลลัพธ์แล้วจะอ่านค่าของตัวแปรนั้นก่อนแล้วจึงแทนที่ลงในข้อความ แต่ถ้านำหน้าด้วย backslash (\) ก็จะไม่มีการอ่านค่าของตัวแปร เช่น "\$a" จะให้ผลต่างจาก "$a" PHP Programming
ตัวอย่าง <? $a=1; echo "\$a=$a <BR>\n"; $test = "test"; echo "$test$test$test<BR>\n"; echo $test,$test,$test,"<BR>\n"; $a = 1; $b = 2; echo $a,"+",$b,"=","$a+$b","<BR>\n"; echo $a,"+",$b,"=",$a+$b,"<BR>\n"; ?> $a=1 testtesttest 1+2=1+2 1+2=3 PHP Programming
echo "$a $b<BR>\n"; echo '$a $b<BR>\n'; ?> ผลลัพธ์คือ สำหรับข้อความในภาษา PHP เราอาจจะใช้ single qoute แทน double quote ได้ แต่เวลาใช้งานร่วมกับ echo หรือ print() จะให้ผลต่างกัน ซึ่งสังเกตได้จากตัวอย่างต่อไปนี้ <? $a = "aaa"; $b = 'bbb'; echo "$a $b<BR>\n"; echo '$a $b<BR>\n'; ?> ผลลัพธ์คือ aaa bbb $a $b PHP Programming
คำสั่ง print ใช้แสดงค่าเช่นเดียวกับคำสั่ง echo แต่คำสั่ง print นั้นสามารถแสดงค่าได้ครั้งละหนึ่งค่าเท่านั้น รูปแบบคำสั่ง print ( “ ข้อความที่ต้องการแสดง“); PHP Programming
ตัวอย่างที่ Today's Date: Tuesday April 04, 2000 <? $Today = date("l F d, Y"); ?> <HTML> <HEAD> <TITLE>Example–5</TITLE> </HEAD> <BODY> Today’s Date: /* ** print today’s date */ print("<H3>$Today</H3>\n"); ** print message about lunch cost print("$YourName, you will be out "); print($CostOfLunch * $DaysBuyingLunch); print(" dollars this week.<BR>\n"); </BODY> </HTML> Today's Date: Tuesday April 04, 2000 , you will be out 0 dollars this week. PHP Programming
คำสั่ง printf ใช้แสดงค่าเช่นเดียวกับคำสั่ง echo และคำสั่ง print แต่ printf สามารถกำหนดรูปแบบในการแสดงผลของข้อมูลได้ด้วย รูปแบบคำสั่ง printf ( .”รูปแบบข้อมูล”, “ ข้อความที่ต้องการแสดง“, …); PHP Programming
ตัวอย่าง Name : Seree Chinodom , m1 = 2000 , m2 = 3.14 Character = A <? $name =”Seree Chinodom” ; $m1 = 2000 ; $m2 = 3.1415 ; $char = 65 ; printf(“ Name : %s , m1 = %d , m2 = %8.2f <BR>”, $name, $m1, $m2) ; printf(“Character = %c <BR>”, $char) ; ?> Name : Seree Chinodom , m1 = 2000 , m2 = 3.14 Character = A PHP Programming
ตัวดำเนินการ (Operators) คือสัญลักษณ์ที่จะสั่งให้ PHP ดำเนินการกับตัวเลขหรือข้อความ ตัวดำเนินการบางตัวจะดำเนินการกับตัวที่ถูกกระทำ(operand)เพียงตัวเดียว แต่บางตัวต้องมีตัวถูกกระทำสองตัว PHP Programming
ตัวดำเนินการคณิตศาสตร์ (Arithematic Operations) สัญลักษณ์ ชื่อ ตัวอย่าง + Addition $a + $b - Subtraction $a - $b * Multiplication $a * $b / Division $a / $b % Modulus $a % $b PHP Programming
การเพิ่มหรือลดค่าของตัวเลขในตัวแปรทีละหนึ่ง ใช้เครื่องหมาย ++ และ - - เพื่อเพิ่มค่าทีละหนึ่งหรือลดค่าทีละหนึ่ง ดังนี้ $x++ เพิ่มค่าขึ้นอีกหนึ่ง ++$x เพิ่มค่าขึ้นอีกหนึ่ง $x-- ลดค่าลงอีกหนึ่ง --$x ลดค่าลงอีกหนึ่ง วางไว้ข้างหน้า จะเพิ่มหรือลดค่าตัวแปรก่อนแล้งจึงนำค่าในตัวแปรไปดำเนินการ วางไว้ข้างหลัง จะนำค่าในตัวแปรไปดำเนินการก่อนแล้วจึงนำตัวแปรไปเพิ่มหรือลด PHP Programming
ตัวดำเนินการสตริงก์ (String Operations) คือตัวดำเนินการที่ใช้ในการเชื่อมข้อความหลายข้อความให้เป็นข้อความเดียว ภาษา PHP มีตัวดำเนินการสตริงก์ เพียงตัวเดียวคือจุด (" . ") ดังตัวอย่างเช่น $a = "Hello !"; $b = $a . "World !" ; // $b จะมีค่าเท่ากับ Hello World ! PHP Programming
ตัวดำเนินการตรรก เป็นตัวดำเนินการที่ใช้กระทำกับค่าข้อมูลที่มีค่าได้ 2 ค่าคือจริงและเท็จ สัญลักษณ์ของตัวดำเนินการตรรก สัญลักษณ์ ชื่อ ตัวอย่าง ! Not ! $a && And $a && $b || Or $a || $b and and $a and $b or or $a or $b xor xor $a xor $b PHP Programming
ตัวดำเนินการ Bitwise เป็นตัวดำเนินการที่ใช้กระทำกับค่าข้อมูลในระดับบิตได้ โดยค่าของข้อมูลที่เก็บเป็นเลขฐานสิบจะเปลี่ยนมาเป็นเลขฐานสอง 2 ค่าคือจริงและเท็จ PHP Programming
ตัวดำเนินการ Bitwise สัญลักษณ์ ชื่อ & Bitwise And | Bitwise Or สัญลักษณ์ ชื่อ & Bitwise And | Bitwise Or ~ Bitwise Not ^ Bitwise Xor << Shift left >> Shift right PHP Programming
ตัวดำเนินการเงื่อนไข(Conditional Operators) คือตัวดำเนินการที่ใช้การเปรียบเทียบข้อมูลเพื่อสร้างเงื่อนไข == เท่ากับ > มากกว่า >= มากกว่าหรือเท่ากับ < น้อยกว่า <= น้อยกว่าหรือเท่ากับ != ไม่เท่ากับ PHP Programming
The Ternary Operator รูปแบบคือ (expr1) ? (expr2) : (expr3) การนำไปใช้ให้ดูที่ (expr1) เป็นจริงหรือเท็จ ถ้าเป็นจริง (มีค่ามากกว่า 0) ให้ ประมวลผล expr2 แต่ถ้า expr1เป็นเท็จ (มีค่าเป็น 0) ให้ ประมวลผล expr3 PHP Programming
ลำดับการทำงานของตัวดำเนินการ การบอกให้ทราบว่าเครื่องหมายนี้จะมีวิธีการคิดไปทางขวาหรือทางซ้ายที่แตกต่างกัน เช่น 1 + 5 * 3 คำตอบที่ได้ต้องเป็น 16 ไม่ใช่ 18 ต้องคิดจากซ้ายไปขวา เพราะ (" * ") เป็น Operation ที่เหนือกว่า (" + ") ดังนั้น เวลาที่เราจะคิดเราต้องดูก่อนว่าตัวดำเนินการตัวใดมีลำดับชั้นของ Precedence ต่ำกว่ากัน เพราะเราจะคิดอันที่ต่ำกว่าก่อน PHP Programming
การกำหนดค่าของตัวแปรที่เป็นตัวเลขหรือสตริงก์โดยใช้ assignment operators การกำหนดค่า (assignment ) หรือเปลี่ยนแปลงค่าให้แก่ตัวแปรจะใช้ตัวดำเนินการกำหนดค่า (assignment operators) ได้ในหลายๆรูปแบบเหมือนอย่างที่ใช้ในภาษาซี PHP Programming
นิพจน์ (Expressions) คือค่าคงที่ หรือ ตัวแปร หรือการนำเอาค่าคงที่ หรือตัวแปร มาเชื่อมด้วยตัวดำเนินการ โครงสร้าง PHP เราจะต้อง define ให้นิพจน์เป็น "anything that has a value" PHP Programming
ตัวอย่าง <? for ($index = 1; $index <= 100; $index++) { if ($index % 10 == 0) { echo "$index<br>"; } ?> PHP Programming