ในช่วงแรกภาษาที่นิยมใช้ในการทำงานบนระบบ Network คือ HTML (Hypertext Markup Lanuage) แต่ภาษา HTML
เป็น Static Language ก็คือ
ภาษาที่ใช้สร้างข้อมูลประเภทตัวอักษร ภาพ หรือ Object อื่นๆ ที่ไม่สามารถเปลี่ยนแปลงได้
ด้วยตัวของมันเอง หรือเรียกง่ายๆ ว่าข้อมูลที่คงที่นั่นเอง ก็ทำให้ไม่ยืดหยุ่น ต่อมาความต้องการของมนุษย์
ไม่มีวันเพียงพอ จึงได้มีการพัฒนา ภาษาที่เป็น Dynamic Lanuage ขึ้นมา ก็คือ ภาษาที่มีข้อมูลถูกเปลี่ยนแปลง Auto ตามเงื่อนไขต่างๆ
ที่ผู้เขียนกำหนดไว้ มีการ ประกาศตัวแปรได้ ข้อมูลที่เปลี่ยนแปลงก็เปลี่ยนแปลงตามตัวแปร
นี่ เป็นที่มาของ ภาษา PHP CGI ASP เป็นต้น โดยเฉพาะ
ภาษาประเภท Scripts ที่สามารถติดต่อกับผู้ใช้ได้ และ
หนึ่งในภาษาเหล่านั้นก็คือ PHP ซึ่งเป็นภาษาที่ไดรับความนิยมอย่างมากในปัจจุบัน
ถูกสร้างขึ้น เมือ ปี 1994 ก่อน Windows 95 ปีเดียวเอง โดยนาย Rasmus Lerdorf
PHP เป็นภาษาจำพวก scripting language คำสั่งต่างๆจะเก็บอยู่ในไฟล์ที่เรียกว่าสคริปต์
(script) และเวลาใช้งานต้องอาศัยตัวแปลชุดคำสั่ง
ตัวอย่างของภาษาสคริปก็เช่น JavaScript, Perl เป็นต้น
ลักษณะของ PHP ที่แตกต่างจากภาษาสคริปต์แบบอื่นๆ คือ PHP
ได้รับการพัฒนาและออกแบบมา เพื่อใช้งานในการสร้างเอกสารแบบ HTML
โดยสามารถ สอดแทรกหรือแก้ไขเนื้อหาได้โดยอัตโนมัติ
ดังนั้นจึงกล่าวว่า PHP เป็นภาษาที่เรียกว่า server-side
หรือ HTML-embedded scripting language เป็นเครื่องมือที่สำคัญชนิดหนึ่ง
ที่ช่วยให้เราสามารถสร้างเอกสารแบบ Dynamic HTML ได้อย่างมีประสิทธิภาพและมีลูกเล่นมากขึ้น
ถ้าใครรู้จัก Server Side Include (SSI) ก็จะสามารถเข้าใจการทำงานของ
PHP ได้ไม่ยาก สมมุติว่า เราต้องการจะแสดงวันเวลาปัจจุบันที่ผู้เข้ามาเยี่ยมชมเว็บไซด์ในขณะนั้น
ในตำแหน่ง ใดตำแหน่งหนึ่งภายในเอกสาร HTML ที่เราต้องการ
อาจจะใช้คำสั่งในรูปแบบนี้ เช่น <!--#exec
cgi="date.pl"--> ไว้ในเอกสาร HTML เมื่อ SSI ของ web server มาพบคำสั่งนี้
ก็จะกระทำคำสั่ง date.pl ซึ่งในกรณีนิ้
เป็นสคริปต์ที่เขียนด้วยภาษา perl สำหรับอ่านเวลาจากเครื่องคอมพิวเตอร์
แล้วใส่ค่าเวลาเป็นเอาพุท (output) และแทนที่คำสั่งดังกล่าว
ลงในเอกสาร HTML โดยอัตโนมัติ ก่อนที่จะส่งไปยังผู้อ่านอีกทีหนึ่ง
อาจจะกล่าวได้ว่า PHP ได้รับการพัฒนาขึ้นมา
เพื่อแทนที่ SSI รูปแบบเดิมๆ โดยให้มีความสามารถ และมีส่วนเชื่อมต่อกับเครื่องมือชนิดอื่นมากขึ้น
เช่น ติดต่อกับคลังข้อมูลหรือ database เป็นต้น
PHP
ได้รับการเผยแพร่เป็นครั้งแรกในปีค.ศ.1994 จากนั้นก็มีการพัฒนาต่อมาตามลำดับ
เป็นเวอร์ชั่น 1 ในปี 1995 เวอร์ชั่น 2
(ตอนนั้นใช้ชื่อว่า PHP/FI) ในช่วงระหว่าง 1995-1997
และเวอร์ชั่น 3 ช่วง 1997 ถึง 1999 จนถึงเวอร์ชั่น 4 ในปัจจุบัน
PHP
เป็นผลงานที่เติบโตมาจากกลุ่มของนักพัฒนาในเชิงเปิดเผยรหัสต้นฉบับ
หรือ OpenSource ดังนั้น PHP จึงมีการพัฒนาไปอย่างรวดเร็ว
และแพร่หลายโดยเฉพาะอย่างยิ่งเมื่อใช้ร่วมกับ Apache Webserver ระบบปฏิบัติอย่างเช่น Linux หรือ FreeBSD เป็นต้น ในปัจจุบัน PHP สามารถใช้ร่วมกับ Web
Server หลายๆตัวบนระบบปฏิบัติการอย่างเช่น Windows 95/98/NT เป็นต้น
เพื่อเป็นการบ่งบอกให้รู้ว่า ส่วนใดเป็นคำสั่ง PHP ที่อยู่ภายในเอกสาร HTML จึงได้มีการกำหนดสัญลักษณ์ไว้ดังนี้
ซึ่งสามารถทำได้หลายรูปแบบ เช่น
TAG
|
STLY
|
<?
... ?>
|
(SGML
style)
|
<?php
... ?>
|
(XML
style)
|
<script
language="php"> ... </script>
|
(JavaScript
style)
|
<%
... %>
|
(ASP
style)
|
ที่นิยมก็คือแบบแรก โดยเริ่มต้นด้วย <? และจบด้วย
?> และตรงกลางจะเป็นคำสั่งในภาษา PHP เราสามารถวางคำสั่ง
PHP ไว้ภายในเอกสาร HTML ตามที่ต้องการได้
อาจจะสลับกับ Tag ของภาษา HTML ก็ได้
คำสั่ง
Echo
หรือ Print
ในภาษา PHP นั้งคำสั่งในการแสดงผลมี 2 คำสั่ง คือ echo หรือ print โดยทั้งสองคำสั่งมีรูปแบบเหมือนกันและหลังจากจบคำสั่งจะต้องปิดท้ายด้วย
เซมิโคลอน (;)
เช่น
echo “ข้อความ”;
print “ข้อความ”;
สำหรับการเขียนโปรแกรมสำหรับภาษาคอมพิวเตอร์ระดับสูง สิ่งที่จะขาดเสียมิได้คือ
การกำหนดและใช้ตัวแปร (variable) ตัวแปรในภาษา PHP จะเหมือนกับในภาษา Perl คือเริ่มต้นด้วยเครื่องหมาย dollar
($) โดยเราไม่จำเป็นต้องกำหนดแบบของข้อมูล (data type) อย่างเจาะจงเหมือนในภาษาซี เพราะว่า ตัวแปลภาษาจะจำแนกเองโดยอัตโนมัติว่า
ตัวแปรดังกล่าว ใช้ข้อมูลแบบใด ในช่วงเวลานั้นๆ เช่น ข้อความ จำนวนเต็ม
จำนวนที่มีเลขจุดทศนิยมตรรก เป็นต้น
Integer
|
จำนวนเต็มบวก
และจำนวนเต็มลบ เลขฐานสิบ ฐานแปด และฐานสิบหก
|
Float
|
เก็บจำนวนจริงทั้งบวกและลบ
ทั้งมีทศนิยม และไม่มีทศนิยม
|
String
|
เก็บจำนวนตัวเลข และ
ข้อความ
|
Array
|
เก็บข้อมูลทเป็นชุด
หรือ อาร์เรย์
|
Object
|
เก็บข้อมูลในลักษณะออปเจ็กต์เพื่อการเรียกใช้เป็น
Class Object หรือ Function
|
Type juggling
|
เก็บข้อมูลในลักษณะเฉพราะหรือผู้ที่ใช้เพิ่มเข้าม
|
หลักการตั้งชื่อ ตัวแปร
$ var-name =value;
ขอบเขตการตั้งชื่อตัวแปร
- ขึ้นต้นด้วยเครื่งหมาย $ แล้วตามด้วยตัวอักษร A-Z,a-z
- มีความยาวไม่เกิน 255 ตัวอักษร
- ห้ามมีจุดทศนิยม หรือช่องว่าง
- จะต้องไม่ตรงกับคำสงวน และควรตั้งชื่อ ให้มีความหมายใกล้เคียงกับ ค่าที่เก็บ
- ตัวอักษรเล็กหรือใหญ่จะเป็นตัวแปรต่างกัน
- ถ้าตั้งตัวแปรมาใหม่ แล้วทับตัวแปรเก่า ค่าของตัวแปรเก่าจะหายไป
การตรวจสอบชนิดของตัวแปร
gettype( $var-name );
ตัวอย่างเช่น
ขอบคุณที่มา
$ var-name =value;
ขอบเขตการตั้งชื่อตัวแปร
- ขึ้นต้นด้วยเครื่งหมาย $ แล้วตามด้วยตัวอักษร A-Z,a-z
- มีความยาวไม่เกิน 255 ตัวอักษร
- ห้ามมีจุดทศนิยม หรือช่องว่าง
- จะต้องไม่ตรงกับคำสงวน และควรตั้งชื่อ ให้มีความหมายใกล้เคียงกับ ค่าที่เก็บ
- ตัวอักษรเล็กหรือใหญ่จะเป็นตัวแปรต่างกัน
- ถ้าตั้งตัวแปรมาใหม่ แล้วทับตัวแปรเก่า ค่าของตัวแปรเก่าจะหายไป
การตรวจสอบชนิดของตัวแปร
gettype( $var-name );
ตัวอย่างเช่น
<?
$a=1234;
echo gettype($a);
?>
Escaped characters
\n newline
\n
|
newline
|
\r
|
carriage
|
\t
|
horizontal
tab
|
\\
|
backslash
|
\$
|
dollar sign
|
\"
|
double-quote
|
%%
|
percent
|
PHP---โอเปอเรเตอร์
ในภาษา PHP
มีโอเปอรเตอร์ด้วยกันทั้งหมด 7 ชนิดดังนี้
Arithmetic
Operators
|
โอเปอเรเตอร์ทางคณิตศาสตร์
|
String Operators
|
โอเปอเรเตอร์เชิงข้อความ
|
Assignment
Operators
|
โอเปอเรเตอร์กำหนดค่า
|
Bitwise Operators
|
โอเปอเรเตอร์เปรียบเทียบบิต
|
Logical Operators
|
โอเปอเรเตอร์เชิงตรรกศาสตร์
|
Comparision
Operators
|
โอเปอเรเตอร์เปรียบเทียบ
|
Operator
Precedence
|
โอเปอเรเตอร์เพิ่ม-ลดค่า
|
Arithmetic
Operators โอเปอเรเตอร์ทางคณิตศาสตร์
ตัวอย่าง
|
ความหมาย
|
ผลลัพธ์
|
$a + $b
|
บวก
|
ผลบวกของ $a และ $b
|
$a - $b
|
ลบ
|
ผลลบของ $a และ $b
|
$a * $b
|
คูณ
|
ผลคูณของ $a และ $b
|
$a / $b
|
หาร
|
ผลหารของ $a และ $b
|
$a % $b
|
หารเอาเศษ
|
เศษจากการหารของ
$a
หารโดย $b
|
String Operators เป็นโอเปอเรเตอร์ที่ใช้กับข้อความซึ่งจะใช้
(.) เพียงโอเปอเรเตอร์เดียว
<?
$a="PHP";
$b="Programming";
$c=$a.$b;
echo"$c";
?>
|
Assignment
Operators โอเปอเรเตอร์กำหนดค่า
โอเปอเรเตอร์พื้นฐานคือ “=”
คือคุณจะต้องคิดว่าค่าทางซ้ายมือของโอเปอเรเตอร์คือผลลัพธ์จาก
คำสั่งที่กระทำทางขวามือ
$a
= 3;
$a
+= 5; // $a = 8, มีความหมายว่า $a = $a + 5;
$b
= "Hello ";
$b
.= "There!"; // $b = "Hello There!", เหมือนกับ
$b = $b . "There!";
เครื่องหมาย
|
ความหมาย
|
รูปแบบ
|
ผลลัพธ์ถ้ากำหนดค่าให้ $a=2
|
=
|
กำหนดค่า
|
$a=1
|
1
|
+=
|
เพิ่มค่า
|
$a+=1
|
3
|
-=
|
ลบค่า
|
$a-=1
|
1
|
*=
|
คูณค่า
|
$a*=1
|
2
|
/=
|
หารค่า
|
$a/=1
|
2
|
Logical
Operators โอเปอเรเตอร์เชิงตรรกศาสตร์
ตัวอย่าง
|
ความหมาย
|
ผลลัพธ์
|
$a and $b
|
And
|
จริงก็ต่อเมื่อ $a และ $b เป็นจริง
|
$a or $b
|
Or
|
จริงถ้า $a หรือ $b ตัวใดตัวหนึ่งเป็จริง
|
$a xor $b
|
Or
|
จริงถ้า $a หรือ $b ตัวใดตัวหนึ่งเป็นจริง
, แต่จะไม่จริงถ้าทั้งสองไม่จริง.
|
! $a
|
Not
|
จริงถ้า $a ไม่จริง
|
$a && $b
|
And
|
จริงทั้ง $a และ $b เป็นจริง
|
$a || $b
|
Or
|
จริงถ้า $a หรือ $b ตัวใดตัวหนึ่งเป็จริง
|
Comparison
Operators โอเปอเรเตอร์เชิงเปรียบเทียบ
ตัวอย่าง
|
ความหมาย
|
ผลลัพธ์
|
$a == $b
|
เท่ากับ
|
จริงถ้า $a มีค่าเท่ากับ $b.
|
$a != $b
|
ไม่เท่ากับ
|
จริงถ้า $a มีค่าไม่เท่ากับ $b.
|
$a < $b
|
น้อยกว่า
|
จริงถ้า $a มีค่าน้อยกว่า $b.
|
$a > $b
|
มากกว่า
|
จริงถ้า $a มีค่ามากกว่า $b.
|
$a <= $b
|
น้อยกว่าหรือเท่ากับ
|
จริงถ้า $a มีค่าน้อยกว่าหรือเท่ากับ $b.
|
$a >= $b
|
มากกว่าหรือเท่ากับ
|
จริงถ้า $a มีค่ามากกว่าหรือเท่ากับ $b.
|
เงื่อนไขการตัดสินใจ เช่น if
, else , switch
PHP if()
กำหนดเงื่อนไขการทำงานในเมื่อเงื่อนไขเป็นจริง จะทำงานก็ต่อเมื่อเงื่อนไขเป็นจริงเท่านั้น
รูปแบบการเขียนคือ
if(เงื่อนไข) {
สิ่งที่เราจะให้ทำเมื่อเข้าเงื่อนไข
}
|
PHP if..else()
กำหนดเงื่อนไขที่เป็นจริงและเงื่อนไขที่เป็นเท็จ เมื่อเงื่อนไขเป็นจริง จะทำงานในส่วน if
แต่ถ้าเงื่อนไขเป็นเท็จจะทำงานในส่วน else
if(เงื่อนไข){
คำสั่งที่จะทำ
ถ้าตรงกับเงื่อนไข if
}
else {
คำสั่งที่จะทำ
ถ้าไม่ตรงกับเงื่อนไข if
}
|
PHP if-elseif() กำหนดเงื่อนไขเป็นจริงได้หลายเงื่อนไขเพื่อเป็นทางเลือกในการตัดสินใจ
การทำงาน 2 แบบแรก
จะมีการเปรียบเทียบเงื่อนไขเพียงเงื่อนไขเดียว
แต่ถ้าหากเราต้องการเปรียบเทียบหลายๆ เงื่อนไข
โดยแต่ละเงื่อนไขจะทำงานไม่เหมือนกัน สามารถเขียนได้ดังนี้
<?php
if (เงื่อนไข 1) {
// ทำงานเมื่อเงื่อนไข 1 เป็นจริง
}
elseif (เงื่อนไข 2)
{
// ทำงานเมื่อเงื่อนไข 2 เป็นจริง
}
elseif (เงื่อนไข 3)
{
// ทำงานเมื่อเงื่อนไข 3 เป็นจริง
}
elseif (เงื่อนไข n)
{
// ทำงานเมื่อเงื่อนไข n
เป็นจริง
}
else {
// ทำงานเมื่อเงื่อไขข้างบนเป็นเท็จทั้งหมด
}
?>
|
การใช้คำสั่ง Switch
รูปแบบของ Switch
Case มีรูปแบบการทำงานคล้ายกับ IF แบบหลายทาง สามารถกำหนดเงื่อนไข
และทางเลือกที่เป็นจริงได้หลาย ๆ เงื่อนไข นั้นก็คือ เราจะใช้งาน Switch เป็นตัวกำหนดทิศทางการทำงานของโปรแกรมเรา โดยการกำหนดนั้นจะกำหนดจากค่า
ค่าหนึ่ง ว่าเป็นค่าอะไร ถ้าเป็นค่านั้น แล้วจะทำอะไร
โครงสร้างของคำสั่ง switch
switch (สิ่งที่ต้องการตรวจสอบ){
case ค่าที่ 1 :
คำสั่ง;
break;
case ค่าที่ 2 :
คำสั่ง;
break;
case ค่าที่ 3 :
คำสั่ง;
break;
default:
คำสั่ง
กรณีไม่ตรงกับค่าใน case
ต่างๆ
}
|
ภาพรวมของ switch
case
1. ชุดคำสั่งประกอบด้วย switch,
case, break และ default
2. ส่วนของคำสั่ง switch
ใช้สำหรับการระบุเงื่อนไขการทำงาน
3. ส่วนของคำสั่ง case
ใช้สำหรับระบุขั้นตอนการดำเนินงาน
4. ส่วนของคำสั่ง break
ใช้สำหรับจบขั้นตอนการดำเนินงาน
5. ส่วนของคำสั่ง default
ใช้สำหรับกรณีที่ไม่เข้าเงื่อนไขใดๆ
คำสั่งวนลูปหรือการทำซ้ำ
คำสั่งวนลูปหรือการทำซ้ำที่สามารถใช้งานได้ในภาษา
PHP
เหมือนกันกับภาษาซี คือคำสั่ง For , คำสั่ง while
และคำสั่ง Do while
ซึ่งมีรูปแบบการใช้งานดังนี้
คำสั่ง
For
ลักษณะการทำงานจะตรวจสอบเงื่อนไข
พร้อมทั้งกำหนดค่าเริ่มต้น และการเปลี่ยนแปลงค่าเริ่มต้นไปพร้อมๆ กัน
โดยตราบใดที่เงื่อนไขเป็นจริง ก็จะทำงานในคำสั่งภายใน for
ต่อไปเรื่อยๆ จนกว่าเงื่อนไขนั้นเป็นเท็จ ถึงจะกระโดดออกจากลูป คำสั่งนี้เหมาะสำหรับการนับจำนวนจากมากไปหาน้อย
หรือจากน้อยไปหามาก แล้วนำผลลัพธ์ต่างๆมาแสดงเป็นผลลัพธ์
Flow
Chart คำสั่ง For
รูปแบบคำสั่ง
for
(กำหนดค่าเริ่มต้น ; เงื่อนไข ; การเพิ่ม/ลดค่าตัวแปร)
{
คำสั่งต่างๆ;
}
|
คำสั่ง While
จะพิจารณาเงื่อนไขแล้วค่อยทำ
ถ้าเงื่อนไขเป็นจริงจะทำคำสั่งที่กำหนด ถ้าเงื่อนไขเป็นเท็จจะกระโดดออกจากลูปทันที
คำสั่งนี้เหมาะสำหรับการบวกเพิ่มจำนวนค่าต่างๆ
เช่น ค่าผลรวม SUM ต่างๆ การคำนวณค่าเงิน
ซึ่งการใช้งานจะเหมือนกับ คำสั่ง for แต่การออกจาก loop
ขึ้นอยู่กับเงื่อนไขว่ายังคงอยู่ในเงื่อนไขหรือเปล่า ถ้าในคำสั่ง
เราไม่เพิ่มค่า ตัวแปรที่เทียบไป ระบบก็จะทำการ loop ไม่รู้จบ
จนกว่าจะหลุดจากเงื่อนไข คือตัวแปรมีการเปลี่ยนแปลงนั่นเอง
เพราะฉะนั้นคำสั่งนี้ครับ ควรระมัดระวังการใช้งานเป็นพิเศษ อาจจะทำให้เครื่อง hang
ได้
Flow
Chart คำสั่ง While
รูปแบบคำสั่ง
while (เงื่อนไข)
{
คำสั่งต่างๆ;
}
|
คำสั่ง do..while
จะทำคำสั่งที่กำหนดก่อนแล้วค่อยพิจารณาเงื่อนไข
ถ้าเงื่อนไขเป็นเท็จ จะกระโดดออกจากลูปทันที
คำสั่งนี้เหมาะสำหรับ การวนลูปแบบ
ต้องการกำหนดค่าตัวแปรต่างๆ ใน loop ที่วนครั้งแรกก่อน
จากนั้นก็จะทำตามเงื่อนไข อาจจะเพิ่ม หรือลดจำนวนค่าตัวแปร
หรืออาจจะเทียบตัวแปรได้ แต่ก็ระวังการวน loop ไม่รู้จบด้วยเช่นกัน
เพราะมันจะเป็นปัญหาเหมือนกันกับคำสั่ง while
Flow
Chart คำสั่ง Do….While
รูปแบบคำสั่ง
do
{
คำสั่งต่างๆ;
}
while
(เงื่อนไข);
|
ขอบคุณที่มา
http://www.chandra.ac.th/office/ict/document/it/php/variable.htm
http://itnews4u.com/if-php.html
หนังสือเรียนวิชาPHP โดย นายทองปาน ปริวัตร ม.ภาคตะวันออกเฉียงเหนือhttp://itnews4u.com/if-php.html