PHP เบื้องต้น : ตัวแปร ...
description
Transcript of PHP เบื้องต้น : ตัวแปร ...
PHP Programming introduction2
ตวแปร (variable) ตวแปร เปนชอทเราตงขน เพอใหคอมพวเตอรเตรยมท
ในหนวยความจำาไวสำาหรบเกบขอมลทนำาไปประมวลผล
การตงชอตวแปร ชอตวแปรในภาษา PHP จะเรมตนดวยเครองหมาย dollar
($) ตวอกษรตวแรกตองไมเปนตวเลข การใชตวพมพเลกและตวพมพใหญไมเหมอนกน ไมตองประกาศและกำาหนดแบบของขอมล (data type)
อยางเจาะจงเหมอนในภาษาซ หรอ ปาสคาล ตวแปลภาษาจะจำาแนกเองโดยอตโนมตวา ตวแปรดงกลาว ใช
ขอมลแบบใด ในชวงเวลานนๆ
PHP Programming introduction3
ก�รกำ�หนดค�ใหตวแปร การกำาหนดคาใหกบตวแปรจะใชคำาสงกำาหนดคา
(Assigment Statement)รปแบบมดงน
$ ชอตวแปร = ค�ทเกบ ; $mystring = "Hello World!"; $myinteger = 72; $myfloat = 3.14; การแสดงคาตวแปรใชคำาสงแสดงผลเชน echo
PHP Programming introduction4
<? $test = 10; echo $test; echo "<BR>"; echo "$test <BR>"; echo "แสดงชอตวแปรพรอมเครองหมาย $"; echo "$x".'test';?>
ตวอย�ง var2-0.php
1010
แสดงชอตวแปรพรอมเครองหมาย $test
PHP Programming introduction5
<? $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.5abcabc, 15.584.5246
ตวอย�ง var2-1.php
PHP Programming introduction6
<? // 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;?>
ตวอย�ง var2-2.php
46PHP is good!
PHP Programming introduction7
ตวอย�ง 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 introduction8
ชนดของตวแปรในภ�ษ� PHP
ตวแปรในภาษา PHP จำาแนกไดเปน 3 ชนด คอ Scarlar varible Array variable Object variable
PHP Programming introduction9
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 introduction10
ตวอย�ง 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 introduction11
ตวแปรอ�รเรย (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 introduction12
แบบท 2$arr_names[] = ‘Mitch’ ;$arr_names[] = ‘Gerry’ ;$arr_names[] = ‘Tim’ ;
แบบท 3$key = ‘pelican’ ;$value = $arr_zoo[$key] ;
หรอ$value = $arr_zoo[pelican] ;
PHP Programming introduction13
ตวอย�ง 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 introduction14
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 introduction15
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 introduction16
ก�รกำ�หนดค�คงท(Constants)
ในภาษา PHP มการกำาหนดสญลกษณใหเกบคาคงท เชน อาจจะเปนสตรงกหรอตวเลขกได
กำาหนดโดยใช คำาสง define() สญลกษณทกำาหนดโดย คำาสง define() จะเหมอนกนตวแปรทวๆไป แตแตก
ตางตรงทวา เมอนยามแลวจะเปลยนแปลงคาอกไมได
PHP Programming introduction17
<HTML><HEAD><TITLE>Figure 2-7</TITLE></HEAD><BODY><?
define("STANDARD_GREETING", "Hello, World!");print(STANDARD_GREETING);
?></BODY></HTML>
ตวอย�ง const-1.php
Hello, World!
PHP Programming introduction18
ตวอย�ง 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.0471975513333AUTHOR=RWSYES=1
PHP Programming introduction19
ก�รอ�นและแปลงแบบขอมลในตวแปรหรอค�คงทแบบเจ�ะจง
เราสามารถแปลงแบบขอมลจากแบบหนงไปยงอก แบบหนง (type casting) เชน แปลงจากขอความ
ทมเฉพาะตวเลขใหกลายเปนเลขจำานวนเตม (int) หรอทศนยม (double, float, real) หรออาจจะใช
คำาสง settype()
PHP Programming introduction20
ตวอย�ง 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 introduction21
ก�รอ�นแบบขอมลของตวแปรหรอค�คงท
ถาตองการตรวจวา ตวแปรมขอมลแบบใด เรา สามารถใชคำาสง gettype() ได คาทไดจากฟงกชนก
จะเปน "integer" "double" หรอ "string" เปนตน
PHP Programming introduction22
ตวอย�ง 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 introduction23
ก�รใช echo เพอแสดงตวแปรเกบ ขอคว�ม
การพมพคาใดๆทเกบอยในตวแปร ถาชอของตวแปรอยในสตรงกระหวาง double quote เวลาแสดงผลลพธแลวจะอานคาของตวแปรนนกอนแลวจงแทนทลงใน
ขอความ แตถานำาหนาดวย backslash (\) กจะไมม การอานคาของตวแปร เชน "\$a" จะใหผลตางจาก
"$a"
PHP Programming introduction24
ตวอย�ง 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 testtesttesttesttesttest1+2=1+21+2=3
PHP Programming introduction25
สำาหรบขอความในภาษา 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 introduction26
ตวดำ�เนนก�ร (Operators) คอสญลกษณทจะสงให PHP ดำาเนนการกบตวเลข
หรอขอความ ตวดำาเนนการบางตวจะดำาเนนการกบตวทถกกระทำา(operand) เพยงตวเดยว แตบางตวตองมตวถกกระทำาสองตว
PHP Programming introduction27
ตวดำ�เนนก�รคณตศ�สตร(Arithematic Operations)
สญลกษณ ชอ ตวอย�ง+ บวก $a + $b- ลบ $a - $b* คณ $a * $b/ หาร $a / $b% หารเอาเฉพาะเสษ $a % $b
PHP Programming introduction28
ก�รเพมหรอลดค�ของตวเลขในตวแปรทละหนง
ใชเครองหมาย ++ และ - - เพอเพมคาทละหนงหรอ ลดคาทละหนง ดงน
$x++ เพมคาขนอกหนง++$x เพมคาขนอกหนง$x-- ลดคาลงอกหนง--$x ลดคาลงอกหนง
· วางไวขางหนา จะเพมหรอลดคาตวแปรกอนแลงจงนำาคาในตวแปรไปดำาเนนการ
· วางไวขางหลง จะนำาคาในตวแปรไปดำาเนนการกอนแลวจงนำาตวแปรไปเพมหรอลด
PHP Programming introduction29
ตวดำ�เนนก�รสตรงก (String Operations) คอตวดำาเนนการทใชในการเชอมขอความหลาย
ขอความใหเปนขอความเดยว ภาษา PHP มตวดำาเนนการสตรงก เพยงตวเดยวคอจด (" . ") ดงตวอยางเชน$a = "Hello !";$b = $a . "World !" ; // $b จะมคาเทากบ Hello World !
PHP Programming introduction30
เปนตวดำาเนนการทใชกระทำากบคาขอมลทมคาได 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 xor xor $a xor $b = F
ตวดำ�เนนก�รตรรก
PHP Programming introduction31
ตวดำ�เนนก�ร Bitwise
เปนตวดำาเนนการทใชกระทำากบคาขอมลในระดบบตได โดยคาของขอมลทเกบเปนเลขฐานสบจะเปลยนมา
เปนเลขฐานสอง 2 คาคอจรงและเทจ
PHP Programming introduction32
ตวดำ�เนนก�ร Bitwise
สญลกษณ ชอ & Bitwise And | Bitwise Or ~ Bitwise Not ^ Bitwise Xor << Shift left >> Shift right
PHP Programming introduction33
ตวดำ�เนนก�รเงอนไข(Conditional Operators)
คอตวดำาเนนการทใชการเปรยบเทยบขอมลเพอสรางเงอนไข
The Ternary Operator รปแบบคอ (expr1) ? (expr2) : (expr3)
การนำาไปใชใหดท (expr1) เปนจรงหรอเทจ ถาเปนจรง (มคามากกวา 0) ให ประมวลผล expr2 แตถา expr1เปนเทจ (มคาเปน 0) ให ประมวลผล expr3
PHP Programming introduction34
ลำ�ดบก�รทำ�ง�นของตวดำ�เนนก�ร
การบอกใหทราบวาเครองหมายนจะมวธการคดไปทางขวาหรอทางซาย ทแตกตางกน เชน 1 + 5 * 3 คำาตอบทไดตองเปน 16 ไมใช 18
ตองคดจากซายไปขวา เพราะ (" * ") เปน Operation ทเหนอกวา(" + ") ดงนน เวลาทเราจะคดเราตองดกอนวาตวดำาเนนการตวใดม
ลำาดบชนของ Precedence ตำากวากน เพราะเราจะคดอนทตำากวากอน
PHP Programming introduction35
ก�รกำ�หนดค�ของตวแปรทเปนตวเลขหรอสตรงกโดย ใช assignment operators
การกำาหนดคา (assignment ) หรอเปลยนแปลง คาใหแกตวแปรจะใชตวดำาเนนการกำาหนดคา
(assignment operators) ไดในหลายๆรปแบบ เหมอนอยางทใชในภาษาซ
PHP Programming introduction36
นพจน (Expressions)
คอคาคงท หรอ ตวแปร หรอการนำาเอาคาคงท หรอตวแปรมาเชอมดวยตวดำาเนนการ
โครงสราง PHP เราจะตอง define ใหนพจนเปน"anything that has a value"
PHP Programming introduction37
ตวอย�ง op-1.php
<? for ($index = 1; $index <= 100; $index+
+) { if ($index % 10 == 0) { echo "$index<br>"; } }?>
102030405060708090
100
คำ�ถ�มชงร�งวลขอท 1 Variables are always preceded by…
A.) $B.) &C.) %
ผทตอบ..............................
PHP Programming introduction38
คำ�ถ�มชงร�งวลขอท 2 Which of the following is not an
arithmetic operator?A.) %B.) &C.) *
ผทตอบ..............................
PHP Programming introduction39
คำ�ถ�มชงร�งวลขอท 3 Using the gettype() function on $x
when $x = “4.3″ will return…A.) BooleanB.) IntegerC.) Double
ผทตอบ..............................
PHP Programming introduction40