Download - PHP: Hypertext Preprocessor
1
PHP:Hypertext Preprocessor
สญญา เครอหงษภาควชาวทยาการคอมพวเตอรและเทคโนโลยสารสนเทศคณะวทยาศาสตร มหาวทยาลยนเรศวร
บทท 6Variable, Constant
2
วตถประสงคการเรยนรประจำาบท• เพอทราบหลกการทำางานของ Web Server และตดตงได
• เพอทราบหลกการทำางานของภาษา PHP
3
กจกรรมการเรยนการสอน•บรรยายโดยผสอนและใชเอกสารประกอบการสอนของผสอน
•สอนโดยใชสอคอมพวเตอรผานเครองฉาย•อภปรายในชนเรยนรวมกน• ใหนสตคนควาเพมเตมจากตำาราและเอกสารทเกยวของ
•ทำาแบบฝกหดทายบท
4
การประเมนผล•ประเมนผลจากการตอบคำาถามและอภปรายในชนเรยน
•ทำาแบบฝกหดทายบท•ทำารายงานสง
5
ตวแปร (Variable)
• ตวแปร (Variable) คอสงทใชเกบคา (Value) หรอขอมล (Data) ไวชวคราว เพอทเราจะนำาคา/ขอมลเหลานนมาใชในภายหลง คาทเกบไวในตวแปรอาจเปนขอความ เลขจำานวนเตม เลขจำานวนทศนยม คาตรรกะ (จรง/เทจ) วน/เวลา หรออนๆ
6
การตงชอตวแปร•ชอตวแปรจะตองประกอบดวยตวอกษร ตวเลข หรอเครองหมายขดลาง (underscore) เทานน และหามขนตนดวยตวเลข ตารางชอแสดงชอตวแปรทใชไดและใชไมไดชอตวแปรท
ใชได$first_na
me$percen$_line
ชอตวแปรทใชไมได
สาเหตทใชไมได
$first-name
ชอมเครองหมายขดกลาง
$pct% ชอมเครองหมายเปอรเซนต
$3rd_line ชอขนตนดวยตวเลข
7
หมายเหต ภาษา PHP ถอวาตวอกษรเลกกบตวอกษร
ใหญในชอตวแปรแตกตางกน (Case Sensitive) ดงนนตวแปรชอ $age แลวตอ
มากำาหนดคาใหตวแปร $Age คณจะมตวแปร2 ตว ในหนวยความจำาทเกบคาแยกกน
8
ชนดขอมล (Data Type)
ชนดขอมล คำาอธบายตรรกศาสตร(Boolean) คาความจรง หรอเรยกวาคาตรรกะ
ซงตองเปนคาจรง (True) หรอคา เทจ (False) อยางใดอยางหนง
เลขจำานวนเตม (Integer) คาแบบเลขจำานวนเตม โดยอาจเปน เลขจำานวนเตมบวก เลขจำานวนเตม
ลบ หรอศนยเลขจำานวนทศนยม(Float
หรอ Double)คาแบบเลขทศนยม
สตรง (String) คาทประกอบขนจากตวอกษรหรอ ตวเลขเรยงตอกนไป เชน “ ”สวสด ,
“0-2619-0070” และ“Hello123” เปนตน การเขยนคาสตรงในโคดโปรแกรมจะตองใช
เครองหมายคำาพด (“ ‘หรอ ) ครอบไว
9
การตรวจสอบชนดขอมลของตวแปร
•สำาหรบใชตรวจสอบชนดขอมลของตวแปร โดยจะใหผลลพธเปนชอชนดขอมล ดงตวอยาง
<?php$i = -65535; // สรางตวแปร $i เกบคาแบบเลขจำานวนเตม$f = 7.66; // สรางตวแปร $f เกบคาแบบเลขจำานวนทศนยม$s = "PHP: Hypertext Preprocessor"; // สรางตวแปร $s เกบคาสตรง$b = FALSE; // สรางตวแปร $b เกบคาตรรกะecho gettype($i) . "<br>"; //แสดงชอชนด
ขอมลของตวแปร $iecho gettype($f) . "<br>"; //แสดงชอชนด
ขอมลของตวแปร $fecho gettype($s) . "<br>"; //แสดงชอชนด
ขอมลของตวแปร $secho gettype($b) . "<br>";//แสดงชอชนด
ขอมลของตวแปร $b?>
gettype.php
10
การแปลงชนดขอมลของตวแปร•สามารถแปลงชนดขอมลของตวแปรไปเปนชนดทตองการไดโดยใชฟงกชน settype <?php
$a = "123“; // สรางตวแปร $a เกบคาสตรง "123"settype($a, "integer"); //แปลงชนดขอมลของ
ตวแปร $a ไปเปนชนดเลขจำานวนเตม$a = $a + 456; // เพมคาของตวแปร $a ขนอก 456echo $a . "<br>"; // แสดงคาของตวแปร $a ออกมา$birthdate = "18 ตลาคม พ.ศ. 2547"; //สราง
ตวแปร $birthdate เกบคาสตรงsettype($birthdate, "integer"); //แปลงชนด
ขอมลของตวแปร $birthdateecho $birthdate; //// แสดงคาของตวแปร$birthdate?>
settype.php
11
เทคนคเพมเตมเกยวกบสตรง• สตรงแบบ Double quote (“”)จะตความหมายตวอกษรพเศษทอยในสตรง เชน $, {} และ \ โดยจะตความหมายของคำาสงหรอตวแปร
• สตรงแบบ Single quote (‘’) จะมองเหนตวอกขระแตละตวอยางตรงไปตรงมา โดยไมตความหมายใดๆ
Literal หมายถงคาทเขยนลงไปในโคดโปรแกรมโดยตรง คอเหนเลยวาเปนคาอะไร เชน 123, “Hello”, TRUE เปนตน
<?$n="sanya";echo "Hello $n<br>";echo 'Hello $n';?>
12
เทคนคเพมเตมเกยวกบสตรง<?php$name = "สมชาย";echo "บรรทด 1 : สวสด $name ยนดตอนรบ" . "<br>\n";echo 'บรรทด 2 : สวสด $name ยนดตอนรบ' . "<br>\n";$speed = 56;echo "บรรทด 3 : เชอมตออนเทอรเนตทความเรว{$speed}kbps" . "<br>\n";echo "บรรทด 4 : เชอมตออนเทอรเนตทความเรว$speedkbps" . "<br>\n";echo 'บรรทด 5 : เชอมตออนเทอรเนตทความเรว{$speed}kbps' . "<br>\n";$value = 12.345; echo "บรรทด 6 : ตวแปร \$value มคาเทากบ $value" . "<br>\n";echo 'บรรทด 7 : ตวแปร \$value มคาเทากบ $value' . "<br>\n\n";echo 'บรรทด 8 : <a href="www.iamsanya.com">ไอแอมสญญา</a>' . "<br>\n";echo "บรรทด 9 : Hello 'PHP'" . "<br>\n\n";echo "บรรทด 10 : AAAAA\nBBBBB\tCCCCC" . "<br>\n";echo 'บรรทด 11 : DDDDD\nEEEEE\tFFFFF';?>
13
คาคงท (Constant)
• คาคงท (Constant) คอชอทกำาหนดขนมาใหมคาหนงๆ คลายกบตวแปร แตตางจากตวแปรตรงทมนจะมคานนไปตลอดโปรแกรมโดยไมสามารถเปลยนแปลงได เชน• define("HELLO", "สวสดคะ");• define("VAT", 7);
14
คาคงท (Constant) (ตอ)
<?phpdefine("HELLO", "สวสดคะ");//กำาหนดคาคงทชอ HELLO ใหมคาเปนสตรง "สวสดคะ" define("VAT", 7); //กำาหนดคาคงทชอ VAT ใหมคาเปนเลขจำานวนเตม 7$name = "พรอมเลศ";echo HELLO . "คณ$name" . "<br>";echo "ภาษมลคาเพมขณะนคดในอตรารอยละ " . VAT;?>
constant.php
15
สรป• นพจน (Expression) คอสวนของโคดโปรแกรมทมคา เชน ตวแปร , Literal , คาคงท , การเรยกใชฟงกช
นทมการสงคนคากลบมา รวมถงการนำาสงตางๆ เหลานมาดำาเนนการกนโดยใชตวดำาเนนการ ซงจะไดนพจนทซบซอนขน
• ตวดำาเนนการ (Operator) คอสญลกษณทใชดำาเนนการกบคาแลวใหผลลพธเปนคาใหม โดยคาทถกดำาเนนการเรยกวา ตวถกดำาเนนการ (Operand) ตวดำาเนนการสวนใหญในภาษา PHP ตองการตวถกดำาเนนการ 2 ตว แตบางตวกตองการตวถกดำาเนนการเพยงตวเดยว บางตวกตองการตวถกดำาเนนการ 3 ตว
• ตวดำาเนนการทางคณตศาสตร (Arithmetic Operator) ใชคำานวณทางคณตศาสตร• ตวดำาเนนการสตรง (String Operator) ใชเชอมตอสตรง 2 ชด เขาดวยกน• ตวกำาหนดการกำาหนดคา (Assignment Operator) ใชกำาหนดคาใหแกตวแปร• ตวกำาหนดการเพม/ลดคา (Incrementing / Decrementing Operator) ตองการตวถกดำาเนนการ
เพยงตวเดยวซงจะตองเปนตวแปรเทานน ทำาหนาทเพมคาตวแปรขน 1 หรอลดคาตวแปรลด 1 การใชงานมทงระบไวหนาตวแปรและหลงตวแปร ซงความหมายแตกตางกน
• ตวดำาเนนการเปรยบเทยบ (Comparison Operator) ใชเปรยบเทยบคา (นพจน) 2 คา แลวใหผลลพธเปนคาตรรกะเสมอ
• ตวดำาเนนการทางตรรกศาสตร (Logical Operator) ใชดำาเนนการกบคาตรรกะ แลวให• ผลลพธเปนคาตรรกะตามหลกตรรกะศาสตร• ลำาดบความสำาคญของตวดำาเนนการ (Operator Precedence) คอกฎทกำาหนดวาในนพจนทมการใชตว
ดำาเนนการตงแต 2 ตวขนไปนน ตวดำาเนนการใดจะถกทำากอนหรอหลง
16
Thank You