450 likes | 683 Views
PHP เบื้องต้น : ตัวแปร ตัวดำเนินการและนิพจน์. ปัณฑรีย์ สวัสดิมงคล sapantharee@yahoo.com. ตัวแปร ( variable). ตัวแปร เป็นชื่อที่เราตั้งขึ้น เพื่อให้คอมพิวเตอร์เตรียมที่ในหน่วยความจำไว้สำหรับเก็บข้อมูลที่นำไปประมวลผล การตั้งชื่อตัวแปร
E N D
PHP เบื้องต้น :ตัวแปร ตัวดำเนินการและนิพจน์ ปัณฑรีย์ สวัสดิมงคล sapantharee@yahoo.com
ตัวแปร (variable) • ตัวแปร เป็นชื่อที่เราตั้งขึ้น เพื่อให้คอมพิวเตอร์เตรียมที่ในหน่วยความจำไว้สำหรับเก็บข้อมูลที่นำไปประมวลผล • การตั้งชื่อตัวแปร • ชื่อตัวแปรในภาษา PHP จะเริ่มต้นด้วยเครื่องหมาย dollar ($) • ตัวอักษรตัวแรกต้องไม่เป็นตัวเลข • การใช้ตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ไม่เหมือนกัน • ไม่ต้องประกาศและกำหนดแบบของข้อมูล(data type) อย่างเจาะจงเหมือนในภาษาซี หรือ ปาสคาล • ตัวแปลภาษาจะจำแนกเองโดยอัตโนมัติว่า ตัวแปรดังกล่าว ใช้ข้อมูลแบบใดในช่วงเวลานั้นๆ PHP Programming
การกำหนดค่าให้ตัวแปร • การกำหนดค่าให้กับตัวแปรจะใช้คำสั่งกำหนดค่า (Assigment Statement) รูปแบบมีดังนี้ $ชื่อตัวแปร = ค่าที่เก็บ ; $mystring = "Hello World!"; $myinteger = 72; $myfloat = 3.14; • การแสดงค่าตัวแปรใช้คำสั่งแสดงผลเช่น echo PHP Programming
ตัวอย่าง var2-0.php <? $test = 10; echo $test; echo "<BR>"; echo "$test <BR>"; echo "แสดงชื่อตัวแปรพร้อมเครื่องหมาย $"; echo "$x".'test'; ?> 1010 แสดงชื่อตัวแปรพร้อมเครื่องหมาย $test PHP Programming
ตัวอย่าง var2-1.php <? $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
ตัวอย่าง var2-2.php <? // Assign a value of 46 to a variable // called $int_page_nummber. $int_page_number = 46; echo "$int_page_number <br>\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
ตัวอย่างvar2-3.php3 <? // 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 • ตัวแปรในภาษา PHP จำแนกได้เป็น 3 ชนิดคือ • 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-1.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> Area is 6 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
แบบที่ 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> Red , Green ,Blue ,White PHP Programming
Variable Interpolation หมายถึงการที่ภาษา PHP สามารถที่จะแทนชื่อตัวแปรด้วยค่าที่เก็บภายใต้เครื่องหมาย double-quote เช่น $str_size = “big” ; echo “Jack was a $str_size man.” ; ซึ่งจะได้ผลลัพธ์เป็น Jack was a big man.” แต่ถ้ากำหนดเป็น $str_size = ‘big’ ; echo “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
ตัวอย่าง const-1.php <HTML> <HEAD> <TITLE>Figure 2-7</TITLE> </HEAD> <BODY> <? define("STANDARD_GREETING", "Hello, World!"); print(STANDARD_GREETING); ?> </BODY> </HTML> Hello, World! PHP Programming
ตัวอย่าง const-2.php <? 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
ตัวอย่าง cast-1.php <? $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 ; ?> z= 42.7z= 42 PHP Programming
การอ่านแบบข้อมูลของตัวแปรหรือค่าคงที่การอ่านแบบข้อมูลของตัวแปรหรือค่าคงที่ ถ้าต้องการตรวจว่า ตัวแปรมีข้อมูลแบบใด เราสามารถใช้คำสั่ง gettype() ได้ ค่าที่ได้จากฟังก์ชันก็จะเป็น "integer" "double" หรือ "string" เป็นต้น PHP Programming
ตัวอย่าง vartype-1.php <? echo gettype(0),"<BR>"; echo gettype(1.1),"<BR>"; echo gettype(""),"<BR>"; echo gettype((1==1)),"<BR>"; if(gettype("abc")=="string"){ echo "this is string"; } ?> integerdoublestringbooleanthis is string PHP Programming
การใช้ echo เพื่อแสดงตัวแปรเก็บข้อความ การพิมพ์ค่าใดๆที่เก็บอยู่ในตัวแปร ถ้าชื่อของตัวแปรอยู่ในสตริงก์ระหว่างdouble quote เวลาแสดงผลลัพธ์แล้วจะอ่านค่าของตัวแปรนั้นก่อนแล้วจึงแทนที่ลงในข้อความ แต่ถ้านำหน้าด้วยbackslash (\) ก็จะไม่มีการอ่านค่าของตัวแปร เช่น "\$a" จะให้ผลต่างจาก "$a" PHP Programming
ตัวอย่าง var2-4.php <? $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 testtesttest 1+2=1+2 1+2=3 PHP Programming
สำหรับข้อความในภาษา 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
ตัวดำเนินการ (Operators) • คือสัญลักษณ์ที่จะสั่งให้ PHP ดำเนินการกับตัวเลขหรือข้อความ ตัวดำเนินการบางตัวจะดำเนินการกับตัวที่ถูกกระทำ(operand)เพียงตัวเดียวแต่บางตัวต้องมีตัวถูกกระทำสองตัว PHP Programming
ตัวดำเนินการคณิตศาสตร์ (Arithematic Operations) สัญลักษณ์ ชื่อตัวอย่าง + บวก$a + $b - ลบ$a - $b * คูณ$a * $b / หาร$a / $b % หารเอาเฉพาะเสษ$a % $b PHP Programming
การเพิ่มหรือลดค่าของตัวเลขในตัวแปรทีละหนึ่งการเพิ่มหรือลดค่าของตัวเลขในตัวแปรทีละหนึ่ง • ใช้เครื่องหมาย ++ และ - - เพื่อเพิ่มค่าทีละหนึ่งหรือลดค่าทีละหนึ่ง ดังนี้ $x++ เพิ่มค่าขึ้นอีกหนึ่ง ++$x เพิ่มค่าขึ้นอีกหนึ่ง $x-- ลดค่าลงอีกหนึ่ง --$x ลดค่าลงอีกหนึ่ง • วางไว้ข้างหน้า จะเพิ่มหรือลดค่าตัวแปรก่อนแล้งจึงนำค่าในตัวแปรไปดำเนินการ • วางไว้ข้างหลัง จะนำค่าในตัวแปรไปดำเนินการก่อนแล้วจึงนำตัวแปรไปเพิ่มหรือลด PHP Programming
ตัวดำเนินการสตริงก์ (String Operations) • คือตัวดำเนินการที่ใช้ในการเชื่อมข้อความหลายข้อความให้เป็นข้อความเดียว ภาษา PHP มีตัวดำเนินการสตริงก์เพียงตัวเดียวคือจุด (" . ") ดังตัวอย่างเช่น $a = "Hello !"; $b = $a . "World !" ; // $b จะมีค่าเท่ากับ Hello World ! PHP Programming
ตัวดำเนินการตรรก • เป็นตัวดำเนินการที่ใช้กระทำกับค่าข้อมูลที่มีค่าได้ 2 ค่าคือจริงและเท็จ สัญลักษณ์ของตัวดำเนินการตรรก สัญลักษณ์ ชื่อ ตัวอย่าง($a=T,$b=F) ! Not ! $a = F && And $a && $b = F || Or $a || $b = T and and $a and $b = F or or $a or $b = T xorxor $a xor $b = F PHP Programming
ตัวดำเนินการ Bitwise • เป็นตัวดำเนินการที่ใช้กระทำกับค่าข้อมูลในระดับบิตได้ โดยค่าของข้อมูลที่เก็บเป็นเลขฐานสิบจะเปลี่ยนมาเป็นเลขฐานสอง 2 ค่าคือจริงและเท็จ PHP Programming
ตัวดำเนินการ Bitwise สัญลักษณ์ ชื่อ & Bitwise And | Bitwise Or ~ Bitwise Not ^ Bitwise Xor << Shift left >> Shift right PHP Programming
ตัวดำเนินการเงื่อนไข(Conditional Operators) คือตัวดำเนินการที่ใช้การเปรียบเทียบข้อมูลเพื่อสร้างเงื่อนไข 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
ตัวอย่าง op-1.php <? for ($index = 1; $index <= 100; $index++) { if ($index % 10 == 0) { echo "$index<br>"; } } ?> 102030405060708090100 PHP Programming
คำถามชิงรางวัลข้อที่ 1 • Variables are always preceded by… A.) $B.) &C.) % • ผู้ที่ตอบ.............................. PHP Programming
คำถามชิงรางวัลข้อที่ 2 • Which of the following is not an arithmetic operator? A.) %B.) &C.) * • ผู้ที่ตอบ.............................. PHP Programming
คำถามชิงรางวัลข้อที่ 3 • Using the gettype() function on $x when $x = “4.3″ will return… A.) BooleanB.) IntegerC.) Double • ผู้ที่ตอบ.............................. PHP Programming