You are on page 1of 22

Web Programming

WEB DESIGN
Chapter 4
Variable ,Data Type , Constant

C# and Java Certificate. Power By Tananon Klinkaew


ตัวแปร (Variable)

การเขียนโปรแกรมดวยภาษาทุกภาษาจะมีรูปแบบการ
ประกาศตั ว แปรที่ แ ตกตางกั น PHP ก็ เ ป" น ภาษาหนึ่ ง ที่ มี
ลั ก ษณะโดดเดนกวาภาษาอื่ น คื อ การประกาศตั ว แปรของ
PHP ไม%ต&องประกาศชนิดข&อมูล (Data type) เนื่องจาก
ภาษา PHP จะกําหนดชนิดของขอมูลตามคาของขอมูลที่ไดรับ

C# and Java Certificate. Power By Tananon Klinkaew


การตั้งชื่อตัวแปร
• ชื่ อ ของตั ว แปรสามารถเป" น ไดทั้ ง ตั ว อั ก ษร ตั ว เลข และ
เครื่องหมาย Underscore ( _ ) ได
• ตองขึ้ น ตนดวยตั ว อั ก ษร หรื อ เครื่ อ งหมาย Underscore
เทานั้น หามขึ้นตนดวยตัวเลข
• ตองมีเครื่องหมาย $ นําหนาเสมอ ซึ่งการเรียกใชตัวแปรก็
ตองมีเครื่องหมาย $ นําหนาดวย
• ชื่อของตัวแปรใน PHP จะใหความสําคัญกับตัวอักษรพิมพA
เล็ก-พิมพAใหญ (Case Sensitive) <?
$price = 500;
$product = "เกาอี้";
echo"$product ราคา $price บาท ";
?>

C# and Java Certificate. Power By Tananon Klinkaew


การตั้งชื่อตัวแปร(ต%อ)

จากตัวอยาง เป"นการกําหนดตัวแปร $price ขึ้นมา


โดยกําหนดคาให คือ 500 และ ตัวแปร $product ใหมีคา
เป"นขอความวา "เกาอี้" ในการกําหนดคาตั วแปรจะกําหนด
หลังเครื่องหมาย Assignment Operator (=) ซึ่งสามารถ
เป"นไดทั้ง ตัวเลข ตั วอักษร และตั วแปร จากนั้นจึ งแสดงผล
โดยใชคําสั่ง echo

C# and Java Certificate. Power By Tananon Klinkaew


การตั้งชื่อตัวแปร(ต%อ)
ภาษา PHP จะมีลักษณะของ Case Sensitive เช%น
$price จะเปCนคนละตัวกับ $PRICE และ $Price

<?
$PRICE = 800;
$price = 500;
echo "ลดราคาเกาอี้พิเศษ<br>";
echo "จากปกติ $PRICE บาท <br> เหลือ $price บาท";
?>

C# and Java Certificate. Power By Tananon Klinkaew


ชนิดข&อมูล(Data Type)
ชนิดข&อมูล ความหมาย
Integer ตัวแปรแบบเลขจํานวนเต็ม เชน 1, 2, -8, 117
Floating ตัวเลขซึ่งเป"นจํานวนทศนิยม เชน 0.001, 8.5, -3.005
ตัวแปรอักขระ ตัวอักษร หรือขอความ โดยตองอยู
String
ภายใตเครื่องหมาย Double Quote (" ") เชน "MWIT"
เก็บคาตั้งแต 1 คาขึ้นไปไวในชื่อตัวแปรเดียวกัน โดยมี
Array
index เป"นตัวระบุตําแหนงของแตละขอมูล
กําหนดใหตัวแปรนั้นเก็บคุณสมบัตขิ อง Object ไว โดยใช
Object
ชื่อ Class เป"นตัวกําหนด ชนิดขอมูลประเภทนี้

C# and Java Certificate. Power By Tananon Klinkaew


การแปลงชนิดข&อมูล(Casting Data Type)
ชนิดข&อมูล ความหมาย
(int), (integer) ใชแปลงเป"นขอมูลชนิดจํานวนเต็ม
(real), (double), (float) ใชแปลงเป"นขอมูลชนิดจํานวนทศนิยม
(string) ใชแปลงเป"นขอมูลชนิดสตริง
(array) ใชแปลงเป"นขอมูลชนิดอารAเรยA
(object) ใชแปลงเป"นขอมูลชนิดออบเจ็ค
<?
$num = 248.75;
echo "คาตัวแปรกอนการแปลงชนิดขอมูล : $num <br>";
$num = (int) $num;
echo "คาตัวแปรหลังการแปลงชนิดขอมูล : $num <br>";
?>

C# and Java Certificate. Power By Tananon Klinkaew


การแปลงชนิดข&อมูล(Casting Data Type)(ต%อ)

การแปลงชนิดข&อมูลด&วยฟSงกTชั่น settype
ฟoงกAชั่น settype() เป"นฟoงกAชั่นที่ใชแปลงชนิดขอมูล ซึ่งมีรูปแบบ
การใชงานดังนี้
settype(ตัวแปร, ชนิดข&อมูล)
<?
$num = 248.75;
echo "คาตัวแปรกอนการแปลงชนิดขอมูล : $num <br>";
settype($num, "integer");
echo "คาตัวแปรหลังการแปลงชนิดขอมูล : $num <br>";
?>
***การระบุชนิดข&อมูลในฟSงกTชั่น settype() นั้นจะต&องอยู%ในรูปของสตริง
โดยใส%เครื่องหมาย double quote ครอบชื่อชนิดข&อมูลที่ต&องการ เช%น
"integer"

C# and Java Certificate. Power By Tananon Klinkaew


ค%าคงที่(Constant)
ค%าคงที่ คือ ตั วแปรประเภทหนึ่ ง ซึ่ งทั้ งโปรแกรมคาคงที่ จะมีไ ด
เพี ย งแคคาเดี่ ย ว การประกาศคาคงที่ ใ น PHP ทํ าไดโดยใชคํ าสั่ ง
define ซึ่งมีรูปแบบดังนี้
define (ชือค%าคงที่, ค%า)
<?
define ("MYNAME", "Somchai");
***จากข&างต&นจะเห็นว%า มีการ
define ("DOGNAME", "BOG");
ประกาศค% า คง ที่ 3 ตั ว และ
define ("mycolor", "blue");
ค% าคงที่ ทั้ ง 3 ค% านี้ เวลานํ าไปใช&
echo "<font color=", mycolor, ">";
เ ร า จ ะ แ ท ร ก อ ยู% ภ า ย น อ ก
echo "My name is ", MYNAME, "<br>";
เ ค รื่ อ ง ห ม า ย " . . . " ( Double
echo "My dog name is ", DOGNAME, "<br>";
quote)
echo "</font>";
?>
C# and Java Certificate. Power By Tananon Klinkaew
การประกาศค%าคงที่ด&วยคําสั่ง Const
นอกจากนี้ ใ นภาษา PHP คุ ณ ยั ง สามารถใชคํ า สั่ ง Const ในการ
ประกาศคาคงที่ได ซึ่งมันมีขอแตกตางจากการใชฟoงกAชัน define() ดังนี้
• Const จะทําการกําหนดคาคงที่ในเวลา Compile ในขณะที่ define()
กําหนดคาคงที่ใน Run-time
• Const ไมสามารถใชในบล็อคของคําสั่ง เชน If For หรือ While เป"นตน
• Const สามารถกําหนดคา Literal เทานั้น ในขณะที่ define() สามารถเป"น
Expression ใดๆ
• Const จะเป"นแบบ case-sensitive ในขณะที่ define() สามารถกําหนด
เป"น case-insensitive ได
• Const สามารถกําหนดคาแบบอาเรยAได ในขณะที่ define() ไมสามารถทํา
ได
• Const สามารถใชประกาศเป"นคาคงที่ภายในคลาสหรือ Interface ได

C# and Java Certificate. Power By Tananon Klinkaew


ตัวแปรซ&อนตัวแปร (Variable Variables)
เป" น การกํ าหนดคาของตั วแปรซอนตั ว แปรใหกับ อี ก ตัวแปร
หนึ่งซึ่งเป"นคาของตัวแปรตัวนั้น ทําใหคาของตัวแปรนั้นเป"นตัวแปร
ตัวใหมโดยอัตโนมัติ <?php
$$ชื่อตัวแปร =กําหนดค%าให&ตัวแปรซ&อนตัวแปร ;
?>
<?php
$A=B
$A='B';
$$A=12.25
$$A=12.25; $B =12.25
echo '$A = '.$A.'<br>';
echo '$$A = '.$$A.'<br>'; //Variable Variables
echo '$B = '.$B.'<br>';
?>
C# and Java Certificate. Power By Tananon Klinkaew
การประกาศค%าคงที่ด&วยคําสั่ง Const(ต%อ)
<?php ตั ว อ ย% า ง ก า ร
const PI = 3.14;
const UNIT = "Inch"; ประกาศและใช&
$r = 5.6; งานค% า คงที่ ด& ว ย
$diameter = 2 * $r;
$area = PI * pow($r, 2);
คํ า สั่ ง Const ใน
$circumference = 2 * PI * $r; ภ า ษ า PHP กั บ
$volume = (4 / 3) * PI * pow($r, 3); โปรแกรมในการ
$surface_area = 4 * PI * pow($r, 2);
หาข&อมูลเกี่ยวกับ
echo "Circle with radius $r " . UNIT . " has\n"; วงกลม
echo "Diameter = $diameter " . UNIT . "\n";
echo "Area = $area Square " . UNIT . "\n";
echo "Circumference = $circumference " . UNIT . "\n";
echo "Volume = $volume Cube " . UNIT . "\n";
echo "Surface area = $surface_area Square " . UNIT . "\n";
?>

C# and Java Certificate. Power By Tananon Klinkaew


ค%าคงที่ในภาษา PHP
ในภาษา PHP มีคาคงที่ที่เรียกวา Predefined constant
ซึ่งเป"นคาคงที่ของภาษาที่เกิดขึ้นในขณะที่โปรแกรมทํางาน นั่น
หมายความวาคาคงที่เหลานี้จะถูกกําหนดในตอนที่ Interpreter
ทํางานเสร็จสิ้น และแตละตัว จะใหผลลัพธA ที่แตกตางกันไปใน
การรันโปรแกรม

C# and Java Certificate. Power By Tananon Klinkaew


ค%าคงที่ในภาษา PHP
ต%อไปนี้เปCนรายการของ Predefined constant ในภาษา PHP
Constant Description
__CLASS__ ชื่อของคลาสปoจจุบันที่โปรแกรมทํางานอยู
ชื่อของโฟลAเดอรAปoจจุบันที่ไฟลAโปรแกรม
__DIR__
ทํางานอยู
__FILE__ ชื่อของไฟลAโปรแกรมทํางานอยู
__FUNCTION__ ชื่อของฟoงกAชันที่โปรแกรมทํางานอยู
__LINE__ หมายเลขบรรทัดที่โปรแกรมทํางานอยู
__METHOD__ ชื่อของเมธอดที่โปรแกรมทํางานอยู
__NAMESPACE__ ชื่อของเนมสเปซที่โปรแกรมทํางานอยู

C# and Java Certificate. Power By Tananon Klinkaew


การตรวจสอบและยกเลิกตัวแปร

ในบางกรณี เ ราไมอาจทราบลวงหนาไดวาขอมู ล
(ตั ว แปร) ที่ เ ราตองการใชงานนั้ นมี อ ยู จริ ง หรื อ เก็ บ คาใดๆ
เอาไวหรือไม จึงตองมีคําสั่งในการตรวจสอบขอมูลเหลานนี้
กอนนํามาใชเพื่อป~องกันขอผิดพลาด นอกจากนี้ตัวแปรที่เรา
สรางขึ้ น อาจจะเพื่ อ ใชงานเพี ย งชั่ ว ระยะเวลาหนึ่ ง แลว
หลั ง จากนั้ น หากมี ตั ว แปรนี้ อ ยู ตอไปอาจจะสงผลตอการ
ทํางานของระบบ ดังนั้นจึงตองมีคําสั่งในการยกเลิกตัวแปร
อี ก อยางหนึ่ ง ดวย ซึ่ ง คํ า สั่ ง (ฟo ง กA ชั่ น ) ที่ เ กี่ ย วกั บ การ
ตรวจสอบและยกเลิกตัวแปร

C# and Java Certificate. Power By Tananon Klinkaew


การตรวจสอบและยกเลิกตัวแปร(ต%อ)
isset(ตั ว แปร) ตรวจสอบวามี ตั ว แปรตามที่ ร ะบุ อ ยู จริ ง หรื อ ไม
หรือเราไดสรางตัวแปรตามที่ระบุแลวหรือยังนั้นเอง หากไมมีตัว
แปรนั้นหรือตัวแปรมีคาเป"น null จะคืนคากลับมาเป"น false แต
หากมีอยูจริงและไมเป"น null จะไดเป"นคา true
$x =123;
$a = isset($x); //$a = true
$y =null;
$b = isset($y); //$b = false
$c = isset($z); //$c = false เพราะยังไมไดกําหนดตัวแปร $z

C# and Java Certificate. Power By Tananon Klinkaew


การตรวจสอบและยกเลิกตัวแปร(ต%อ)
is_null(ตัวแปร) ตรวจสอบวาตัวแปรนั้นมีคา null หรือไม
empty(ตัวแปร) ตรวจสอบวาตัวแปรนั้นมีคาหรือไม ซึ่ง PHP
จะถือวาเป"นตัวแปรที่วางเปลาถาตัวแปรมีคาในลักษณะตอไปนี้
• มีคาเป"น null
• มีคาเป"นสตริงวาง หรือ “” ( ไมใชชองวาง)
• มีคา 0 หรือ “0”
• มีคาเป"น false
ถาตัวแปรมีคาวางจะไดผลลัพธAเป"น true หรือ ถามีคา
จะเป"น false เชน

C# and Java Certificate. Power By Tananon Klinkaew


การตรวจสอบและยกเลิกตัวแปร(ต%อ)

$x = "";
$a = empty($x); //$a = true
$y = 0;
$b = empty($y); //$b = true
$c = empty($z); //$c = true เพราะยังไมไดกําหนดตัวแปร $z

C# and Java Certificate. Power By Tananon Klinkaew


การตรวจสอบและยกเลิกตัวแปร(ต%อ)

unset(ตัวแปร_1,ตัวแปร_2, ตัวแปร_3, …)
ใชในการยกเลิกการใชตัวแปรที่ระบุเมื่อเราไมตองใชตัวแปร
นั้นอีกตอไป เพื่อคืนทรัพยากรใหแกระบบ เราสามารถยกเลิกตัว
แปรกี่ตัวพรอมกันได เชน

$a = 123;
$b = "php";
unset($a, $b);
echo $b; //ไมแสดงผลลัพธAใดๆ เพราะตัวแปร $b ถูกยกเลิกแลว

C# and Java Certificate. Power By Tananon Klinkaew


การตรวจสอบและยกเลิกตัวแปร(ต%อ)
ฟSงกTชั่น is_null() จะใกล&เคียงกับ empty() แต%จะให&ผลลัพธT
ต%างกันในบางกรณี
ตัวแปร is_null($x) is_empty($x) if($x)
$X; true true false
$x= null; true true false
ไม%ได&ประกาศตัว
true true false
แปร $x
$x = ””; false true false
$x = 0; false true false
$x = false; false true false
$x = true; false false true
$x = array(); false true false
C# and Java Certificate. Power By Tananon Klinkaew
แบบฝ{กหัดท&ายบทที่ 2

1. ใหนักศึกษาสรางโปรแกรมคํานวณพื้นที่สามเหลี่ยมและ
แสดงผล
2. ใหนักศึกษาสรางโปรแกรมคํานวณพื้นที่สี่เหลี่ยมผืนผ&าและ
แสดงผล
หมายเหตุ ก%อนทําการคํานวณให&มีการประยุกตTใช&คําสั่งใน
การตรวจสอบและยกเลิกการกําหนดค%าตัวแปร และ
ยกเลิกตัวแปรทุกตัวเมื่อแสดงผลเสร็จ

C# and Java Certificate. Power By Tananon Klinkaew


Reference
• http://www.thaicreate.com/php/php.html
• http://marcuscode.com/lang/php/introduction
• http://marcuscode.com/lang/php/program-struct
• http://www.thaicreate.com/php-
manual/language.basic-syntax.comments.html
• http://www.mwit.ac.th/~jeab/40201/ch4.php
• https://www.programmerthailand.com/tutorial
• http://marcuscode.com/lang/php
• https://whitebear-sw.com

C# and Java Certificate. Power By Tananon Klinkaew

You might also like