การกำหนดตัวแปร และชนิดของข้อมูล
ใน PHP จะเหมือนกับภาษาระดับสูงอื่นๆ
นั่นคือสามารถกำหนดตัวแปรขึ้นมาใช้งานได้ ซึ่งตัวแปรใน PHP นั้นเป็นตัวแปรแบบ
scalar ต้องนำหน้าด้วยดอลลาร์ ($) ดังนี้
$a = 1234; # ตัวอย่างที่ 1
$b = -123; # ตัวอย่างที่ 2
ประโยชน์อย่างหนึ่งของตัวแปรนั้นคือเอาไว้เก็บข้อมูลชั่วคราว
ในการประมวลผล ซึ่งข้อมูลที่ใช้เก็บมีทั้ง ตัวอักษร ตัวเลข ดังตาราง
ชนิดของตัวแปร
|
ข้อมูลที่เก็บ
|
Integers
|
ตัวเลขจำนวนเต็ม เช่น 425,-123
|
Floating point numbers
|
เก็บข้อมูลที่มีทศนิยมเช่น 142.35
|
Strings
|
ข้อความเช่น ?Hello?, ?123?
|
Arrays
|
เก็บข้อมูลเป็นชุด
|
Object
|
เก็บข้อมูลในของ Class Object
หรือ Method
|
Type Juggling
|
เก็บข้อมูลในลักษณะที่ขึ้นกับ
Operator
|
Integers สามารถเขียนให้อยู่ในรูปของเลขฐานได้
คือฐาน 10 ฐาน 8 และ ฐาน 16
$a = 1234; # ตัวอย่างที่ 1
$b = -123; # ตัวอย่างที่ 2
$c = 0123; # ตัวอย่างที่ 3 มีค่าเท่ากับ
(123 ฐาน 8 มีค่าเท่ากับ 83)
$d = 0x12; # ตัวอย่างที่ 4 มีค่าเท่ากับ
(12 ฐาน 16 มีค่าเท่ากับ 18 )
Floating point กำหนดเลขทศนิยม
และรูปแบบยกกำลัง
$a = 1.234; # ตัวอย่างที่ 1
$b = -1e23; # ตัวอย่างที่ 2 =
1 x 1023
String ใช้จัดเก็บข้อความทั่วไป
ซึ่งจะมีรหัสควบคุมพิเศษต่างๆ ดังนี้
\n
|
ใช้ขึ้นบรรทัดใหม่
|
\f
|
เลื่อนเคอร์เซอร์ไปต้นบรรทัด
|
\t
|
ใช้เลื่อน Tab
|
\\
|
ใช้พิมพ์เครื่องหมาย \ (Backslash)
|
\$
|
ใช้พิมพ์เครื่องหมาย $ (Dollar)
|
\?
|
ใช้พิมพ์เครื่องหมาย ? (Double
Quote)
|
\[0-7]{1,3}
|
ใช้กำหนดอักขระเป็นรหัสฐาน 8
|
\x[0-9A-Fa-f]{1,2}
|
ใช้กำหนดอักขระเป็นรหัสฐาน 16
|
ตัวอย่างการใช้งาน String
ตัวอย่างที่ 1
$a = ?Hello?; # ให้ตัวแปร
a = ข้อความ ?Hello?
$b = $a.?World?; # ให้ตัวแปร
b = ตัวแปร a และตามด้วยข้อความ ?World?
echo ?$b?; # สั่งให้พิมพ์ข้อความในตัวแปร
b ออกมา
ตัวอย่างที่ 2
$num = 2000 ; # ให้ตัวแปร num
= 2000
$c = ?Year : $num?; # ให้ตัวแปร
c = ข้อความ ?year : ? ตามด้วยตัวแปร num
$d = ?Year : $num? ; # ให้ตัวแปร
c = ข้อความ ?year : $num?
echo ?$c?; # สั่งให้พิมพ์ข้อความในตัวแปร
c ออกมา
echo ?$d?; # สั่งให้พิมพ์ข้อความในตัวแปร
d ออกมา
ตัวอย่างที่ 3
$e = ?Hello World?; # ให้ตัวแปร
e = ?Hello World?
$a = $e[0]; # ให้ตัวแปร a
= ตัวอักษรตัวแรกของตัวแปร e
$b = $e[strlen($e)-1];# ให้ตัวแปร
last = ตัวอักษรตัวสุดท้ายของตัวแปร e
echo ?$first<BR>?; # สั่งให้พิมพ์ข้อมูลในตัวแปร
first
echo ?$last?; # สั่งให้พิมพ์ข้อมูลในตัวแปร
last
ตัวอย่างที่ 4
$a = ?\?,\\,\$?; # กำหนดอักขระพิเศษให้ตัวแปร
a = ?,\,$
$b = ?\123,\xad?; # ให้ตัวแปร
b = ASCII 1238, ASCII ad16
echo ?$a<BR>$b?; # สั่งให้พิมพ์ข้อความในตัวแปร
a และ b ออกมา
Array ใช้จัดเก็บข้อมูลเป็นชุดๆ
แต่ละชุดมีสมาชิกได้หลายตัว สามารถอ้างถึงสมาชิกแต่ละตัวได้ด้วยเครื่องหมาย
[?]
ตัวอย่างการใช้งาน Array
ตัวอย่างที่ 1 อะเรย์ 1 มิติ
$a[0] = ?ABC?; # ให้สมาชิก
0 ของอะเรย์ a = ข้อความ ?ABC?
$a[1] = ?ABC?; # ให้สมาชิก
1 ของอะเรย์ a = ข้อความ ?XYZ?
$b[?test?] = 13; # ให้สมาชิก
test ของอะเรย์ b = 13
ตัวอย่างที่ 2 อะเรย์หลายมิติ
$a[1] = $f; # Array
1 มิติ
$a[?test?] = $f; # Array
1 มิติ
$a[0][1] = $f; # Array
2 มิติ
$a[?test?][2] = $f; #
Array ผสม 2 มิติ
$a[3][?sample?] = $f; # Array
ผสม 2 มิติ
$a[?test?][4][?sample?][5] = $f; #
Array ผสม 4 มิติ
Object ใช้จัดเก็บตัวแปร หรือชุดคำสั่ง
ที่มักจะเรียกบ่อยๆ หรือใช้งานในลักษณะพิเศษ เพื่อความสะดวกในการทำงาน อาจอยู่ในรูปของ
Class หรือ Function
เช่น
class test
{
function do_hello(){
echo ?Hell Everybody?;
}
}
$bar = new test;
$bar->do_hello;
|
จาก Code มีการสร้างคลาส ที่ชื่อ test
ขึ้นมา และในคลาสนั้น มีฟังก์ชั่นชื่อ do_hello อยู่ จากนั้นสร้าง object
ใหม่ขึ้นมาชื่อ bar bar จึงมีคุณสมบัติเหมือน test จึงใช้ฟังก์ชั่น do_hello
ได้ด้วย
Type Juggling เป็นการจัดการข้อมูลในลักษณะที่ขึ้นกับ
Operator
ตัวอย่าง
$test = 5 + ?10 Small?
ผลได้เท่ากับ 5 เนื่องจากดูจาก Operator
เป็นเครื่องหมาย + PHP จึงมองเป็นตัวเลข (Integer)
ตัวอย่างการใช้งานตัวแปร และตัวแปรระบบ
การใช้งานตัวแปร
ตัวอย่างที่ 1 การประกาศตัวแปรชนิด
String หรือข้อความ ซึ่งจะอยู่ภายใต้เครื่องหมาย ???
<?
$a = ?Hello?;
$A= ?Everybody?;
echo ?$a, $A?;
?>
|
ผลที่ได้จะพิมพ์ข้อความว่า Hello,
Everybody ***สังเกตว่าตัวแปรตัวใหญ่-ตัวเล็กจะถือว่าเป็นคนละตัวกัน
ควรระวังอาจใช้ตัวแปรผิดตัวได้
ตัวอย่างที่ 2 การประกาศตัวแปรชนิด
Integer หรือตัวเลข ไม่ใช้เครื่องหมาย ???
<?
$a = 50;
$b= 10;
echo $a+$b;
?>
|
ผลที่ได้จะผลลัพท์ออกมา คือ 60 นั่นเอง
การใช้งานตัวแปรระบบ
ชื่อตัวแปร
|
ความหมาย และผลลัพท์
|
GATEWAY_INTERFACE
|
เก็บค่า CGI specification เช่น
CGI/1.1
|
SERVER_NAME
|
เก็บค่า Host ที่ใช้บริการเช่น
www.sourcecode.in.th
|
SERVER_SOFTWARE
|
เก็บชื่อ Software ที่ให้บริการขณะนั้นเช่น
Apache/1.3.9 (UNIX) PHP/3.10.12
|
SERVER_PROTOCOL
|
เก็บชื่อ Protocol ที่ใช้รับส่งข้อมูล
เช่น HTTP/1.0
|
REQUEST_METHOD
|
เก็บวิธีการส่งข้อมูลว่าเป็น
Post หรือ Get
|
QUERY_STRING
|
เก็บชุด String ที่ต่อท้าย URL
|
DOCUMENT_ROOT
|
เก็บค่าเส้นทางของ Root Directory
ที่วิ่งไปอ่านครั้งแรก
|
HTTP_ACCEPT_LANGUAGE
|
ภาษาที่ใช้งานขณะนั้นเช่น th
|
HTTP_CONNECTION
|
บอกสถานภาพการติดต่อ เช่น Keep-Alive
|
HTTP_USER_AGENT
|
ชนิดของ Browser ที่เรียกเข้ามา
|
REMOTE_ADDR
|
ค่า IP Address ของเครื่อง Client
|
REMOTE_PORT
|
หมายเลข Port ที่เครื่อง Client
ใช้ติดต่อเข้ามา
|
SCRIPT_FILENAME
|
บอกชื่อเอกสาร PHP รวมถึงเส้นทางใช้งานด้วย
|
SERVER_ADMIN
|
แสดงข้อมูลผู้ดูแล Web Server
ที่เขียนไว้ใน file httpd.conf
|
SERVER_PORT
|
หมายเลข Port ที่เครื่อง Server
เปิดให้บริการ
|
SERVER_SIGNATURE
|
แสดงรุ่นของโปรแกรมที่ใช้, Host
ที่ให้บริการ
|
PATH_TRANSLATED
|
แสดงตำแหน่งของ Script ที่กำลังใช้งาน
|
SCRIPT_NAME
|
แสดงชื่อของ Script ที่กำลังใช้งาน
|
เช่น
<?
echo ?$HTTP_REMOTEADDR<BR>?;
echo ?$HTTP_USER_AGENT<BR>?;
?>
|
|