วันจันทร์ที่ 30 กันยายน พ.ศ. 2556

Array Function

เป็น Function เกี่ยวกับการควบคุมตัวแปร Array ดังนี้
array_count_values(ตัวแปร array) เป็นการนับจำนวนข้อความใน array ว่ามี่กี่ key ที่เหมือนกัน
array_key_exists(ชื่อ key, ตัวแปร array) เป็นการค้นหา key ใน array (ค่าที่ส่งกลับ จริงหรือเท็จ)
array_keys(ชื่อ array[, ค่าที่ค้นหา]) เป็นการแสดง Index และชื่อ key ของ array
array_search(คำค้น, ตัวแปร array) เป็นการค้นหาค่าใน array
array_sum(ตัวแปร array) เป็นการรวมค่าที่มีอยู่ใน array
array_unique(ตัวแปร array) เป็นการแสดงค่าใน array ที่ซ้ำกันให้เหลืออันเดียว
array_values(ตัวแปร array) เป็นการแสดงค่า key และค่าของ key ใน array
count(ตัวแปร array [, mode]) เป็นการนับจำนวน key ใน array ว่ามีจำนวนเท่าไรถ้าไม่มี key จะให้ค่าเป็น 0 ถ้าเป็น array หลายมิติและระบุ mode (COUNT_RECURSIVE หรือ 1) จะนับรวมจำนวนมิติกับจำนวน key ทั้งหมด
current(ตัวแปร array) เป็นการแสดงค่า Index ของ array ว่าขณะนี้อยู่ที่ใด
next(ตัวแปร array) เป็นการย้าย Index ของ array ไปข้างหน้า
prev(ตัวแปร array) เป็นการย้าย Index ของ array ถอยกลับ
end(ตัวแปร array) เป็นการย้าย Index ของ array สุดท้าย
list(ตัวแปรที่1, ตัวแปรที่2[,…])=ตัวแปร array เป็นการรับค่าจาก array

วันอาทิตย์ที่ 29 กันยายน พ.ศ. 2556

Files and Directories Function

ฟังก์ชั่นเกี่ยวกับไฟล์และไดเร็กทอรี่นั้น ถือว่ามีประโยชน์ในการเขียนโปรแกรม เหมาะสำหรับผู้ที่ชอบเก็บข้อมูลแบบเท็กไฟล์ ไม่อาศัยฐานข้อมูล
Files Function
fopen(ชื่อไฟล์ , โหมดของการเปิดไฟล์)
เมื่อเปิดไฟล์ และทำงานต่างๆที่ต้องการเรียบร้อยแล้ว หลังจากนั้นต้องปิดไฟล์ทุกครั้งด้วยโหมดของการเปิดไฟล์ด้วยฟังก์ชั่น fopen มีอยู่ด้วยกัน 6 ชนิดคือ
r เปิดเพื่ออ่านอย่างเดียว โดยเริ่มจากตำแหน่งเริ่มต้นของไฟล์
r+ เปิดไฟล์เพือ่อ่านและเขียนข้อมูล โดยเริ่มจากตำแหต้นของไฟล์
w เปิดไฟล์เพื่อเขียนข้อมูลอย่างเดียว โดยเริ่มจากตำแหน่งเริ่มต้นของไฟล์
ข้อมูลเก่าจะสูญหาย หากไม่พบไฟล์ที่ระบุจะสร้างไฟล์ขึ้นใหม่
w+ เปิดเพื่ออ่านและเขียนข้อมูล โดยเริ่มจากตำแหน่งเริ่มต้นของไฟล์
ข้อมูลเก่าจะสูญหาย หากไม่พบไฟล์ที่ระบุจะสร้างไฟล์ขึ้นใหม่
a เปิดไฟล์เพื่อเขียนข้อมูลเพิ่ม ซึ่งจะเขียนต่อจากข้อมูลตัวสุดท้ายของไฟล์
หากไม่พบไฟล์ที่ระบุจะสร้างไฟล์ขึ้นใหม่
a+ เปิดไฟล์เพื่ออ่านและเขียนข้อมูลเพิ่ม ซึ่งจะเขียนข้อมูล
fclose() ค่าที่ได้จาก fopen() คือหมายเลขอ้างอิงไฟล์ ซึ่งหมายเลขอ้างอิงที่ได้นี้ เราจะต้อง
นำไประบุ เมื่อต้องการใช้ฟังก์ชั่นอื่นๆจัดการเกี่ยวกับไฟล์นั้นๆ ซึ่ง
ตัวอย่าง fopen() และ fclose()
$open = fopen("book.txt","r") ; // ในที่นี้ระบุเป็นโหมด r เพื่ออ่านอย่างเดียว
fclose($open) ;
fpassthru() เป็นฟังก์ชั่นที่ใช้สำหรับอ่านข้อมูลทั้งหมดจากไฟล์ แล้วส่งไปยังเว็บเบราเซอร์
หลังจากนั้นไฟล์จะถูกปิด เราจึงไม่ต้องปิดไฟล์เอง
fread() เป็นฟังก์ชั่นที่ใช้อ่านข้อมูลจากไฟล์ โดยสามารถกำหนดจำนวนไบต์ของข้อมูล
ที่จะให้อ่านเข้ามาได้ รูปแบบการใช้งานคือ
fread(หมายเลขไฟล์,จำนวนไบต์ที่ต้องการอ่าน)
ตัวอย่าง
$file = fopen("d:/myweb/php/test.php","r") ;
$read = fread($file,11) ;
echo $read ;
fclose($file) ;
file() เป็นฟังก์ชั่นที่ใช้อ่านไฟล์ โดยที่ไม่ต้องใช้คำสั่งในการเปิดไฟล์ก่อน
ซึ่งค่าที่ได้จะเป็นข้อมูลชนิด Array ซึ่งก็คือข้อมูลแต่ละบรรทัดนั่นเอง
รูปแบบคือ file(ตำแหน่งและชื่อไฟล์)
ตัวอย่าง
$file_array = file("c:/test.php") ;
echo $file_array[0] . "<br>" ;
echo $file_array[1] . "<br>" ;
fputs(หมายเลขของไฟล์, ข้อความที่จะเขียน) เขียนข้อมูลลงไฟล์
fwrite(หมายเลขของไฟล์,ข้อความที่จะเขียน) เขียนข้อมูลลงไฟล์
filesize(ชื่อแฟ้ม) เป็นฟังก์ชั่นที่ใช้สำหรับหาขนาดของไฟล์ในหน่วยไบต์
filetype(ชื่อแฟ้ม) เป็นฟังก์ชั่นที่ใช้ตรวจสอบประเภทของไฟล์
fgets(หมายเลขของไฟล์[,ขนาดที่จะอ่าน (byte)]) เป็นฟังก์ชั่นที่ใช้อ่านข้อมูลจากไฟล์
ตามขนาดที่ต้องการ(ปกติอ่านครั้งละ 1 บรรทัด)
unlink(ชื่อแฟ้ม) เป็นคำสั่งสำหรับลบไฟล์ที่ระบุไว้
delete(ชื่อแฟ้ม) เป็นคำสั่งสำหรับลบไฟล์ที่ระบุไว้
ฟังก์ชั่นสำหรับ directory
opendir() เป็นฟังก์ชั่นที่ใช้เปิดไดเร็กเทอรี ค่าที่ได้คือหมายเลขอ้างอิงของไดเร็กเทอรี่
ซึ่งเราต้องนำไประบุให้ฟังก์ชั่นอื่นๆ ที่ใช้จัดการกับไดเร็กเทอรี่
readdir() มีหน้าที่อ่านไดเร็กทอรี่ ว่ามีไฟล์ใดอยู่บ้าง
closedir() เป็นฟังก์ชั่นที่ใช้ปิดไดเร็กเทอรี่
dirname(path/file) แสดงชื่อ direct ที่เก็บแฟ้ม
diskfreespace(directory) แสดงขนาดพื้นที่ว่าง
disk_free_space(directory) แสดงขนาดพื้นที่ว่าง
disk_total_space(directory) แสดงขนาดพื้นที่ทั้งหมด

วันเสาร์ที่ 28 กันยายน พ.ศ. 2556

Date and Time Functions

ฟังก์ชั่น date()
ฟังก์ชั่น date() จะส่งค่าของวันเวลากับมาในรูปแบบของข้อมูลชนิด string ตามรูปแบบที่กำหนด รูปแบบเป็นดังนี้ date(สตริง[,timestamp])

ตัวอักษร                          ผลลัพท์ที่แสดงออกมา
a                                      หน่วยของเวลาแบบตัวพิมพ์เล็ก นั่นคือ "am" หรือ "pm"
A                                     หน่วยของเวลาแบบตัวพิมพ์ใหญ่ นั่นคือ "AM" หรือ "PM"
d                                     วันที่ โดยมีศูนย์นำหน้า นั่นคือ "01" ถึง "03"
D                                    ชื่อวันในสัปดาห์ เฉพาะตัวอักษร 3 ตัวแรก เช่น "Sun","Mon" ฯลฯ
F                                    ชื่อเต็มของเดือน เช่น "January" , "Febuary" เป็นต้น
g                                     เลขชั่วโมงแบบ 12 ชั่วโมง โดยไม่มีศูนย์นำหน้า นั่นคือ "1" ถึง "12"
G                                    เลขชั่วโมงแบบ 24 ชั่วโมง โดยไม่มีศูนย์นำหน้า นั่นคือ "0" ถึง "23"
h                                     เลขชั่วโมงแบบ 12 ชั่วโมง โดยมีศูนย์นำหน้า นั่นคือ "01" ถึง "23"
H                                    เลขชั่วโมงแบบ 24 ชั่วโมง โดยมีศูนย์นำหน้า นั่นคือ "00" ถึง "23"
i                                      เลขนาที นั่นคือ "00" ถึง "59"
j                                      วันที่ โดยไม่มีศูนย์นำหน้า นั่นคือ "1" ถึง "31"
l                                     ชื่อเต็มของวันในสัปดาห์ เช่น "Sunday" , "Monday" เป็นต้น
L                                    ค่าตรรกะที่แสดงว่าเดือนกุมภาพันธ์ของปีที่ระบุมี 29 วันหรือไม่
                                      โดย "1" หมายถึง มี 29 วัน ,"0" หมายถึงมี 28 วัน
m                                   หมายเลขของเดือน โดยมี 0 นำหน้า นั่นคือ "01" ถึง "12"
M                                  ชื่อเดือน เฉพาะตัวอักษร 3 ตัวแรก เช่น "Jan" , "Feb" เป็นต้น
n                                    หมายเลขของเดือน โดยไม่มีศูนย์นำหน้า นั่นคือ "1" ถึง "12"
r                                    วัน/เวลาในรูปของ RFC 822 เช่น "Thu, 21 Dec 2000 21:23:05 +0200" เป็นต้น
s                                    เลขวินาที นั่นคือ "00" ถึง "59"
S                                   ตัวหนังสือย่อของเลขวันที่ลงท้ายในภาษาอังกฤษ เช่น ลงท้ายด้วยเลข 1st 2rd                                        เป็นต้น
t                                    จำนวนวันของเดือนคือ 28 และ 31
T                                   เขตเวลา (timezone) เช่น "MDT" , "EST" เป็นต้น
U                                  จำนวนวินาทีทั้งหมดนับตั้งแต่เวลา 00.00 น. ของวันที่ 1 มกราคม พ.ศ.2513
w                                  หมายเลขของวันในสัปดาห์ นั่นคือ "0" (วันอาทิตย์) ถึง "6" (วันเสาร์)
y                                   เลขปีแบบ 2 หลัก เช่น "02" เป็นต้น
Y                                  เลขปีแบ 4 หลัก เช่น "2002" เป็นต้น
z                                   หมายเลขของวันภายในปี นั่นคือ "0" ถึง "365"

วันอังคารที่ 17 กันยายน พ.ศ. 2556

Functions

User-define Function
เป็นการสร้างฟังก์ชันขึ้นมาใช้งานเอง ในกรณีที่เราใช้ชุดคำสั่งเหล่านั้นบ่อยครั้ง เราก็จัดเก็บเป็นฟังก์ชัน เพื่อให้เรียกใช้ได้สะดวกและยังช่วยให้การเขียนโปรแกรมง่ายขึ้นด้วย ซึ่งในการเขียนฟั่งก์ชั่นขึ้นมาเองนี้สามารถสร้างได้ 2 แบบด้วยกันคือ
1. ฟังก์ชั่นที่ไม่มีการรับ-ส่งค่า มีรูปแบบคือ
Function ชื่อฟังก์ชั่น () {
ชุดคำสั่ง PHP;
}
ตัวอย่าง
Function test_function() {
echo “TEST ”;
}
2. ฟังก์ชั่นที่มีการรับ-ส่งค่า มีรูปแบบคือ
Function ชื่อฟังก์ชั่น ([ตัวแปร[,…]]) {
ชุดคำสั่ง PHP;
[return ค่าที่ต้องการส่งกลับ;]
}
เป็นการกำหนดฟังก์ชั่นขึ้นมาเพื่อการรับ-ส่งค่าที่ต้องการ ดังตัวอย่าง
ตัวอย่างที่ 1 รับค่าจาก function อย่างเดียว
Function test_function() {
return “TEST”;
}
$nui= test_function(); // ตัวแปร nui จะมีค่าเท่ากับ “TEST”
ตัวอย่างที่ 2 ส่งค่าให้ function อย่างเดียว
Function test_function($nui) {
echo $nui;
}
test_function(“TEST”); // browser จะแสดงค่า “TEST”
ตัวอย่างที่ 3 รับและส่งค่าให้ function อย่างเดียว
Function test_function($nui) {
return “ผมชื่อ”.$nui;
}
echo test_function(“TEST”); // จะแสดงค่า “TEST”

วันจันทร์ที่ 16 กันยายน พ.ศ. 2556

Firewall

Firewall
Firewall เป็น เครื่องมือรักษาความปลอดภัยให้กับเครือข่ายภายใน (Intranet) โดยป้องกันผู้บุกรุก
(Intrusion) ที่มาจากเครอื ข่ายภายนอก (Internet) ถ้าผู้บุกรุกมาจากจากเครอื ข่ายภายในระบบนี้จะป้องกันไม่ได้
สิ่งที่ป้องกัน เช่น ไวรัสคอมพิวเตอร์ (Virus), หนอนคอมพิวเตอร์ (Worm), การโจมตีแบบ DoS (Denial of
Service), ม้าโทรจัน (Trojan House), ip spoofing ฯลฯ โดยมีลักษณะการบุกรุก ดังนี้
– Virus จะแย่งใช้หรอื ทำาลายทรัพยากรของคอมพิวเตอร์ เช่น ไฟล์ข้อมูล, แรม ฯ
– Worm จะแย่งใช้ทรัพยากรของคอมพิวเตอร์ เช่น เขียนไฟล์ขยะลงบนฮาร์ดดีสก์ จนทำาให้
ฮาร์ดดีสก์เต็ม ฯ
– DoS จะส่ง Request หรอื เรียกใช้ Service ต่างๆ ไปที่เซิร์ฟเวอร์ จนทำาให้เซิร์ฟเวอร์ล่ม
– Trojan House จะแอบอยู่ในเคร่อื งไคลเอนด์หรอื เซิร์ฟเวอร์ เม่อื ถึงเวลามันจะทำาการเปิดพอร์ตของ
เคร่อื งนั้นให้กับผู้บุกรุก เช่น แฮกเกอร์สามารถรีโหมดเข้ามาควบคุมการทำางานของเคร่อื งนั้น
– ip spoofing การปลอมหมายเลขไอพีต้นฉบับเพ่อื ลักลอบเข้ามาในเครอื ข่าย
Firewall มีทั้งฮาร์ดแวร์และซอฟท์แวร์ ที่เปน็ ฮาร์ดแวร์ เช่น Router ที่ฟังก์ชั่น Screening Device,
Layer 3 Switch ฯ ที่เปน็ ซอฟท์แวร์ เช่น ipchains, iptables
ในการอบรมครั้งนี้จะใช้เคร่อื งคอมพิวเตอร์มีการ์ดเน็ตเวิร์ด 2 แผ่น ที่ติดตั้งลินุกซ์ทะเล 7.0 และใช้
โปรแกรม iptables การ์ดหนึ่งติดต่อกับเครอื ข่ายภายนอกใช้ Public IP ทำาหน้าที่เปน็ Firewall อีกการ์ดหนึ่งติด
ต่อกับเครอื ข่ายภายในใช้ Private IP
Firewall แบ่งออกได้ 3 ประเภท
1. Packet Filtering เปน็ Firewall ระดับพ้นื ฐานมีหน้าที่ตรวจสอบ IP Address และ Port ที่อยู่ต้นทาง
และปลายทาง รวมทั้งกรองแพ็กเกตข้อมูล สามารถแยกแยะประเภทของแพ็กเกตที่เปน็ TCP, UDP ได้
2. Circuit-Level Firewall เปน็ Firewall ประเภท Proxy Server ที่เปน็ ตัวคั่นกลางระหว่างเครอื ข่าย
ภายในกับเครอื ข่ายภายนอก การทำางานจะใช้เทคนิคที่เรียกว่า SPI (Stateful Packet Inspection) หลัก
การทำางานเปน็ แบบเดียวกันกับ Packet Filtering และได้เพิ่มการกำาหนดกฎในการเข้าถึง (Access
Rules) เพ่อื ใช้ในการควบคุมทราฟิก
3. Application Level Firewall เปน็ Firewall ประเภท Proxy Server ที่ทำางานระดับแอพพลิเคชั่น มี
หน้าที่ป้องกันเครอื ข่ายภายในกับเครอื ข่ายภายนอกไม่ให้ติดต่อกันโดยตรง การส่งการร้องขอ
(Request) และการตอบกับ (Response) ต้องผ่าน Proxy Server

Proxy Server จะทำาหน้าที่คั่นกลางระหว่างเครือข่ายภายในกับเครือ ข่ายภายนอก โดยมีหลัการทำางานดัง
นี้ เครืองไคลเอ็นด์ต้องการติดต่อกับอินเตอร์เน็ต ก็จะส่งการร้องขอไปที่ Proxy Server จากนั้นตัว Proxy Server
จะแปลง IP Address ของเครื่องไคลเอนด์เป็น IP Address ของ Proxy Server แล้วส่งการรร้องขอนี้ออกไปสู่
อินเตอร์เน็ต และเม่อื มีการตอบกลับจากอินเตอร์เน็ต จะกลับมาที่ Proxy Server จะมีการตรวจสอบว่าข้อมูลที่
ตอบกลับมีสิ่งผิดปกติหรือไม่ ถ้าไม่มีก็จะส่งข้อมูลตอบกลับไปยังเคร่อื งไคลเอนด์ที่ร้องขอมา
รูปแบบการติดตั้ง Firewall
การติดตั้ง Firewall จะต้องติดตั้งให้เหมาะสมถึงจะเป็นประโยชน์ เพราะฉะนั้นจำานวนจุดที่ติดตั้งจะขึ้นอยู่
กับการออกแบบเน็ตเวิร์ค (Network Design) ถ้าการออกแบบเน็ตเวิร์คไม่มี DMZ (Demilitarize Zone) ให้
ติดตั้ง Firewall 1 จุด เคร่อื ง Proxy Server จะมีการ์ดเน็ตเวิร์ด 2 แผ่น แต่ถ้าการออกแบบเน็ตเวิร์คมี DMZ ให้
ติดตั้ง Firewall 2 จุด เคร่อื ง Proxy Server จะมีการ์ดเน็ตเวิร์ด 3 แผ่น
โปรแกรมท่หี น้าท่เีป็น Firewall ท่มี าพร้อมกับลินุกซ์ทะเล 7.0 คือ
1. lokkit เหมาะสำาหรับมอื ใหม่
2. iptables เหมาะสำาหรับมอื อาชีพ

วันพุธที่ 4 กันยายน พ.ศ. 2556

ตัวควบคุมการทำงาน (Control Structures)

ตัวควบคุมการทำงาน (Control Structures)
ในการเขียนโปรแกรมคอมพิวเตอร์นั้น คอมพิวเตอร์จะทำงานโดยเรียงลำดับลงมาจากบน – ลงล่าง
(Top – Down) แต่ถ้าเราต้องการสั่งให้คอมพิวเตอร์ทำงานย้อยกลับ หรือมีการทำงานซ้ำ เราจะต้องมีตัวค;บคุมการทำงานดังนี้
If . . .Else . . .ElseIf
คำสั่ง If เป็นคำสั่งสำหรับกำหนดให้โปรแกรมทำงานอย่างมีเงื่อนไข โดยเริ่มต้นในการตรวจสอบนิพจน์ ว่าค่าที่ได้เป็นจริงหรือเท็จ และนำค่าที่ได้เป็นตัวเลือกว่าจะกระทำตามคำสั่งใด ดังนี้
การใช้งาน If ตรวจสอบเงื่อนไขเดียว
รูปแบบ
If (เงื่อนไข) {
ตัวกำหนดในการทำงานเมื่อเป็นจริงตามเงื่อนไข;
}
การใช้งาน If ตรวจสอบสองเงื่อนไข
รูปแบบ
If (เงื่อนไข) {
ตัวกำหนดในการทำงานเมื่อเป็นจริงตามเงื่อนไข;
} else {
ตัวกำหนดในการทำงานเมื่อไม่เป็นจริงตามเงื่อนไข;
}
การใช้งาน If ตรวจสอบมากกว่าสองเงื่อนไข
รูปแบบ
If (เงื่อนไขที่ 1) {
ตัวกำหนดในการทำงานเมื่อเป็นจริงตามเงื่อนไขที่ 1;
} elseif (เงื่อนไขที่ 2) {
ตัวกำหนดในการทำงานเมื่อไม่เป็นจริงตามเงื่อนไขที่ 2;
} [else if (เงื่อนไขที่ …) {
ตัวกำหนดในการทำงานเมื่อไม่เป็นจริงตามเงื่อนไขที่ …;
[} else {
ตัวกำหนดในการทำงานเมื่อไม่เป็นจริงตามเงื่อนไขข้างต้น; ]]
}

While
คำสั่ง while เป็นคำสั่งในการวนรอบ โดยจะมีการตรวจสอบเงื่อนไขก่อนแล้วค่อยมีการทำงานตามลำดับ แต่ถ้าเงื่อนไขไม่เป็นตามที่กำหนดก็จะออกจากการวนรอบของ while ทันทีดังนี้
รูปแบบ
While (เงื่อนไข) {
คำสั่งในการทำงาน;
}
ตัวอย่าง
<?
$i = 1;
while ($i <= 10) {
echo $i++."<br>";
}
?>
จากตัวอย่างข้างต้นเป็นการตรวจสอบเงื่อนไขเดียวคือ ตัวแปร i น้อยกว่า 10 ซึ่งถ้าเป็นจริงตามเงื่อนไขก็จะพิมพ์ค่า i ออกมาแล้วเพิ่มค่า i ไปที่ละ 1 จน i มีค่าถึง 11 จะออกจาก Loop
do … While
เป็นคำสั่งวน loop คล้ายกับ While แต่จะทำงานตามคำสั่งก่อนแล้วค่อยตรวจสอบเงื่อนไข
for
คำสั่ง for เป็นคำสั่งในการวนรอบอีกคำสั่งหนึ่งแต่จะไม่มีการตรวจสอบเงื่อนไข เพียงแต่ทำตามคำสั่งที่กำหนดไว้แล้วเท่านั้น
ตัวอย่างการใช้งานคำสั่ง for
for ($i = 1; $i <= 10; $i++ ) {
echo "$i <br>";
}
อธิบาย : ภายใน for ( . . . )
$i = 1; คือการกำหนดค่าเริ่มต้น
$i <= 10; คือการกำหนดค่าจุดสิ้นสุด
$i++ คือการกำหนดให้เพิ่มไปทีละ 1
ผลลัพธ์ที่ได้คือ จะมีการวนรอบเพื่อพิมพ์ค่า 1 ถึง 10

break
คำสั่ง break คือคำสั่งที่ใช้ในการหลุดออกจากเงื่อนไข หรือจบเงื่อนไขทันที
ตัวอย่าง
$i = 0;
while ($I <= 50) {
if ($i ==20) { break; }
echo "$i <br>";
$i++;
}
ที่จริงแล้วคำสั่งนี้จะต้องพิมพ์ค่า 0 ถึง 50 ออกมา แต่เนื่องจากมีการใช้คำสั่ง if มาตรวจเช็คเมื่อถึง 20 ถ้าเป็นจริงก็จะทำคำสั่ง break และหยุดการวนรอบทันทีทำให้ผลลัพธ์ที่ได้ออกมาคือ 1 ถึง 19
continue
คำสั่ง continue เป็นคำสั่งที่ใช้ควบคู่กับคำสั่งในการวนรอบ โดยเมื่อโปรแกรมทำการรันคำสั่งนี้ จะทำการกระโดดไปเริ่มต้นใหม่ทันที ( ใช้กับคำสั่ง for, while)
ตัวอย่าง
for ($a = 0; $a <= 50; $a++) {
if ($a % 2) { continue } //เป็นเลขคี่กระโดดไปเริ่มต้นใหม่
echo "$a <br>"; //ให้พิมพ์เลขคู่ออกมา
}
}
เป็นการพิมพ์เลขคู่จาก 0 ถึง 50
switch
คำสั่ง switch เป็นคำสั่งในการเลือกเงื่อนไขจำนวนมากๆ ซึ่งจะสะดวกกว่าการใช้คำสั่ง if
ตัวอย่าง
$a = 1;
switch ($a) {
case 0;
echo "a มีค่าเท่ากับ 0";
break;
case 1;
echo "a มีค่าเท่ากับ 1";
break;
default;
echo "a ไม่มีค่าเท่ากับ 0 หรือ 1";
}

return
เป็นการส่งค่ากลับจากฟังก์ชั่น
include ();
คำสั่ง include() เป็นคำสั่งในการเรียก PHP Script ที่อยู่ในไฟล์อื่นเข้ามาทำงาน โดยสามารถเรียกใช้งานภายใต้คำสั่งของการวนรอบ ( Loop ) และสามารถที่จะนำมาเปรียบเทียบเงื่อนไขการทำงานได้
ตัวอย่างที่ 1 เรียกใช้คำสั่ง include() ภายใต้การวนรอบของคำสั่ง for
$fa = array (‘a.inc’, ’b.inc’, ‘c.inc’, ‘d.inc’);
for ($i = 0; $i < count($fa); $++) {
include $fa[$I];
}
จากตัวอย่างแรก จะใช้อาเรย์ fa เป็นตัวเก็บข้อมูลของไฟล์ทั้งหมด 4ไฟล์ จากนั้นจะทำการวนรอบเพื่อเรียกใช้ (include) ทีละไฟล์
ตัวอย่างที่ 2 เรียกใช้คำสั่ง include() ภายในเงื่อนไขของการเปรียบเทียบ
$a = 12;
if ( $a == 12 ) {
include("asp.inc")
}else{
include("diaw.inc")
}
require ();
คำสั่งนี้จะเป็นคำสั่งในการเรียก PHP Script ที่อยู่ในไฟล์อื่นเข้ามาทำงานซึ่งคล้ายกับ include เพียงแต่สามารถเรียกใช้ภายใต้คำสั่งการวนรอบได้ (Loop)
require (‘header.inc’);
include_once ();
คำสั่งเหมือนกับ include() เป็นคำสั่งในการเรียก PHP Script ที่อยู่ในไฟล์อื่นเข้ามาทำงาน โดยตรวจสอบว่าเคยเรียกมาแล้วหรือยังถ้าเคยจะไม่เรียกซ้ำอีก
require_once ();
คำสั่งนี้จะเป็นคำสั่งในการเรียก PHP Script ที่อยู่ในไฟล์อื่นเข้ามาทำงานซึ่งคล้ายกับ include_once เพียงแต่สามารถเรียกใช้ภายใต้คำสั่งการวนรอบได้ (Loop)

วันจันทร์ที่ 2 กันยายน พ.ศ. 2556

โครงสร้างพื้นฐานของ PHP (Basic SynTag)

โครงสร้างพื้นฐานของ PHP (Basic SynTag)
PHP นั้นสามารถใช้งานร่วมกันกับภาษา HTML ดังนั้นในการเขียนโค้ดจะต้องแยกส่วนกันให้ชัดเจนว่าส่วนใดคือภาษา PHP ส่วนใดคือภาษา HTML ซึ่งสัญลักษณ์ที่นำมาใช้แยกโค้ด PHP ดังนี้
แบบที่ 1. SGML Tag <? // เปิด Tag PHP คำสั่งภาษา php; ?> // ปิด Tag PHP แบบที่ 2. XML Tag <?php // เปิด Tag PHP คำสั่งภาษา php; ?> // ปิด Tag PHP แบบที่ 3. Javascript Tag <script language=”php”> // เปิด Tag PHP คำสั่งภาษา php;
</script> // ปิด Tag PHP แบบที่ 4. ASP Tag <% // เปิด Tag PHP คำสั่งภาษา php; %> // ปิด Tag PHP
จากรูปแบบทั้ง 4 นั้น SynTax ของ PHP ที่นิยมใช้มากที่สุดคือแบบที่ 1 และในการจบคำสั่งของ PHP ต้องจบด้วยเครื่องหมาย ;
การเขียน Comment
Comment ในภาษา PHP จะใช้ Comment เหมือนกับภาษา C และ Unix ดังนี้
- Comment 1 บรรทัดใช้ // หรือ #
- Comment มากกว่า 1 บรรทัด เริ่มต้นด้วย /* จบด้วย */
ชนิดของข้อมูล (Types)
ชนิดข้อมูลของ PHP จะประกอบด้วย 3 ชนิดด้วยกันคือ
1. ข้อมูลแบบค่าเดียว (Scalar)ประกอบด้วย
1.1 boolean เป็นข้อมูลที่มีค่าเป็นจริง หรือเท็จ (True/False)
1.2 integer เป็นข้อมูลประเภทที่เป็นตัวเลขสามารถกำหนดได้ว่าจะ
เป็นเลขฐานอะไรดังนี้
1.2.1 เลขฐาน 10 ([0-9][0-9])
1.2.2 เลขฐาน 8 (0[0-7]+)
1.2.3 เลขฐาน 16 (0[xX][0-9a-fA-F]+)

PHP นั้นสามารถใช้งานร่วมกันกับภาษา HTML ดังนั้นในการเขียนโค้ดจะต้องแยกส่วนกันให้ชัดเจนว่าส่วนใดคือภาษา PHP ส่วนใดคือภาษา HTML ซึ่งสัญลักษณ์ที่นำมาใช้แยกโค้ด PHP ดังนี้
แบบที่ 1. SGML Tag <? // เปิด Tag PHP คำสั่งภาษา php; ?> // ปิด Tag PHP แบบที่ 2. XML Tag <?php // เปิด Tag PHP คำสั่งภาษา php; ?> // ปิด Tag PHP แบบที่ 3. Javascript Tag <script language=”php”> // เปิด Tag PHP คำสั่งภาษา php;
</script> // ปิด Tag PHP แบบที่ 4. ASP Tag <% // เปิด Tag PHP คำสั่งภาษา php; %> // ปิด Tag PHP
จากรูปแบบทั้ง 4 นั้น SynTax ของ PHP ที่นิยมใช้มากที่สุดคือแบบที่ 1 และในการจบคำสั่งของ PHP ต้องจบด้วยเครื่องหมาย ;
การเขียน Comment
Comment ในภาษา PHP จะใช้ Comment เหมือนกับภาษา C และ Unix ดังนี้
- Comment 1 บรรทัดใช้ // หรือ #
- Comment มากกว่า 1 บรรทัด เริ่มต้นด้วย /* จบด้วย */

ชนิดข้อมูลของ PHP จะประกอบด้วย 3 ชนิดด้วยกันคือ
1. ข้อมูลแบบค่าเดียว (Scalar)ประกอบด้วย
1.1 boolean เป็นข้อมูลที่มีค่าเป็นจริง หรือเท็จ (True/False)
1.2 integer เป็นข้อมูลประเภทที่เป็นตัวเลขสามารถกำหนดได้ว่าจะ
เป็นเลขฐานอะไรดังนี้
1.2.1 เลขฐาน 10 ([0-9][0-9])
1.2.2 เลขฐาน 8 (0[0-7]+)
1.2.3 เลขฐาน 16 (0[xX][0-9a-fA-F]+)
1.3 float เป็นข้อมูลชนิดที่เป็นทศนิยม
1.4 string เป็นข้อมูลที่เป็นชนิดข้อความ

2. ข้อมูลแบบหลายค่า (Compound)ประกอบด้วย
2.1 array เก็บข้อมูลที่เป็นชุด หรือกลุ่มข้อความ
2.2 object เก็บข้อมูลในลักษณะของการเรียกใช้เป็น Class Object หรือ Function
2.3 Type juggling เก็บข้อมูลในลักษณะที่ขึ้นอยู่กับตัว Operator
3. ข้อมูลแบบพิเศษ (Special) ประกอบด้วย
3.1 resource เป็นข้อมูลที่ได้มาจาก Function ของ PHP Extensions
3.2 Null เป็นข้อมูลที่ไม่มีค่า

ตัวแปร (Variables)
ตัวแปร (variables) หมายถึงตัวแทนของข้อมูลซึ่งอยู่ในหน่วยความจำของเครื่อง การเขียนโปรแกรมจำเป็นต้องมีการใช้ตัวแปรประเภทต่างๆ เพื่อพักเก็บข้อมูลในระหว่างการทำงานของโปรแกรม การประกาศตัวแปรใน PHP นั้นจะต้องขึ้นต้นด้วยเครื่องหมาย $ (dollar sign) แล้วตามด้วยชื่อตัวแปร โดยที่ PHP นั้นจะให้ความสำคัญกับตัวอักษรพิมพ์เล็ก พิมพ์ใหญ่ของชื่อตัวแปร และชื่อตัวแปรจะต้องขึ้นต้นด้วย ตัวอักษร หรือ เครื่องหมาย underscore (_)
Integers
$a = 567; เป็นจำนวนเต็มบวก
$b = -956; เป็นจำนวนเต็มลบ
$c = 01236; เป็นเลขฐาน 8
$d = 0x12F; เป็นเลขฐาน 16
ในการกำหนดตัวแปรในลักษณะของ Integers เราสามารถกำหนดเป็นเลขฐานได้ได้ 3
เลขฐานคือ ฐาน 10, ฐาน 8, ฐาน 16 ดังนี้
- ฐาน 10 คือตัวเลขที่ใช้ทั่วไป - ฐาน 8 คือตัวเลขที่มีตั้งแต่ 0-7 ในการกำหนดให้เป็นเลขฐาน 8 นั้นจะให้ขึ้นต้นด้วยเลข 0 –
- ฐาน 16 คือตัวเลขตั้งแต่ 0-9 และอักษร A-F แทนตัวเลข 10-15 การกำหนดให้เป็นเลขฐาน 16
คือให้ขึ้นต้นด้วย 0x
Floating point numbers
$a = 1.356
$b = 1.3e6
ใช้กำหนดตัวเลขในรูปแบบทศนิยม และเลขยกกำลัง ดังเช่น 1.3e6 จะหมายความว่า
1.3 คูณ 10 ยกกำลัง 6