ตัวแปรและคำสั่งพื้นฐาน
การเขียน
PHP Script เริ่มต้นกับ HTML นั้น สามารถทำได้ 5 วิธี ดังนี้
1. <? echo ("Hello Everybody"); ?>
2. <?php echo("Hello Everybody"); ?>
3. <script language="php">
echo ("Hello Everybody");
</script>
4. <% echo ("Hello Everybody"); %>
5. <%= $variable; %>
หมายเหตุ
:
ข้อ 4 และ ข้อ
5 จะต้องทำการแก้ไขไฟล์ php.ini เสียก่อน โดยให้ asp_tags มีค่าเป็น On
จากนั้นท่านถึงจะเขียน Script ให้อยู่ในรูปแบบของ ข้อ 4 และ ข้อ 5 ได้
ทำความรู้จักกับ
Types, Constant และ Variables
TYPES
หรือ ชนิดของข้อมูล ใน PHP มีดังนี้
| Integers |
เก็บข้อมูลตัวเลขจำนวนเต็ม
เช่น 452, -254 |
| Floating
point numbers |
เก็บข้อมูลตัวเลขที่มีทศนิยม
เช่น 142.52 |
| Strings |
เก็บข้อมูลตัวอักษร
ข้อความ เช่น "Hello", "ThaiiQ", "258" |
| Arrays |
เก็บข้อมูลชุด
กลุ่มสมาชิก |
| Objects |
เก็บข้อมูลในลักษณะของการเรียกใช้เป็น
Class Object หรือ Function |
| Type
juggling |
เก็บข้อมูลในลักษณะเฉพาะ |
ตัวอย่างการใช้งาน
Integer
$a
= 1234; # Example 1
$a = -123; # Example 2
$a = 0123; # Example 3
$a = 0x12; # Example 4
Integer
สามารถเขียนให้อยู่ในรูปของเลขฐานได้ 3 ฐาน คือ ฐาน 10, ฐาน 8, และ ฐาน .
16 ดังนี้
- ฐาน 10 ก็คือตัวเลขธรรมดาที่ใช้กันทั่วไป
- ฐาน 8 ก็จะมีเลขตั้งแต่ 0-7 การเขียนเลขฐาน
8 จะใช้ 0 นำหน้าตัวเลข ดังตัวอย่างที่ 3
เลขฐาน 8 ค่า 0123 จะเท่ากับ ค่า 83 ในเลขฐาน 10
- ฐาน 16 ก็จะมีเลขตั้งแต่ 0-9 และใช้อักษร
A-F แทนตัวเลข 10-15 การเขียนเลขฐาน 16
จะใช้ 0x นำหน้า ดังตัวอย่างที่ 4 เลขฐาน 16 ค่า 12 จะเท่ากับ ค่า 18 ในเลขฐาน
10
ตัวอย่างการใช้งาน
Floating point numbers
$a
= 1.234; # Example 1
$a = 1.2e3; # Example 2
จะประกอบไปด้วย
ตัวเลข จำนวนทศนิยม และ ตัวเลขยกกำลัง
ดังตัวอย่างที่ 2 ค่า 1.2e3 อ่านว่า 1.2 คูณ 10 ยกกำลัง 3
ตัวอย่างการใช้งาน
Strings
ใช้ในการเก็บข้อมูลที่เป็นค่าคงที่
เช่น ข้อความต่าง ๆ ในการกำหนดข้อมูลประเภท Strings นั้น
จะมีรหัสควบคุมดังนี้
| \n |
ใช้สำหรับขึ้นบรรทัดใหม่ |
| \r |
Carriage
ใช้สำหรับให้ตัว Cursor ไปอยู่ที่ต้นของบรรทัด |
| \t |
ใช้ในการเลื่อน
Tab |
| \\ |
ใช้ในการพิมพ์เครื่องหมาย
\ (Backslash) |
| \$ |
ใช้ในการพิมพ์เครื่องหมาย
$ (Dollar Sign) |
| \" |
ใช้ในการพิมพ์เครื่องหมาย
" (Double-Quote) |
| \[0-7]{1,3} |
ใช้สำหรับเลขฐาน
8 |
| \x[0-9A-Fa-f]{1,2} |
ใช้สำหรับเลขฐาน
16 |
Example
1
$a = "ThaiiQ";
$b = $a . " Sawassdee";
echo "$b";
ตัวอย่างที่
1 กำหนดให้ตัวแปร a เก็บข้อความ ThaiiQ และ ตัวแปร b มีค่าเท่ากับตัวแปร a
และตามด้วยข้อความ Sawassdee สั่งพิมพ์ค่าตัวแปร b จะได้ ThaiiQ Sawassdee
Example 2
$num = 2000;
$c = "Year : $num";
$d = 'Year : $num';
echo "$c<BR>";
echo "$d";
ตัวอย่างที่
2 กำหนดให้
ตัวแปร num เก็บค่าตัวเลข 2000
ตัวแปร c เก็บข้อความ Year : และนำค่าจากตัวแปร num มาแสดง ภายในเครื่องหมาย
"..."
ตัวแปร d เก็บข้อความ Year : และนำค่าจากตัวแปร num มาแสดง ภายในเครื่องหมาย
'...'
พิมพ์ค่าตัวแปร c จะได้ผลลัพธ์เท่ากับ Year : 2000
พิมพ์ค่าตัวแปร d จะได้ผลลัพธ์เท่ากับ Year : $num
หมายเหตุ :
ภายในเครื่องหมาย '....' ค่าตัวแปรจะไม่มีความหมาย
ถือว่าเป็นข้อความทั้งสิ้น
Example 3
$e = 'ThaiiQ.Com';
$first = $e[0];
$last = $e[strlen($e)-1];
echo "$first<BR>";
echo "$last";
ตัวอย่างที่
3 กำหนดให้
ตัวแปร e เก็บข้อความ ThaiiQ.Com
ตัวแปร first เก็บค่าตัวแรกของข้อความที่มาจากตัวแปร e ซึ่งมีค่าเท่ากับ
T
ตัวแปร last เก็บค่าตัวสุดท้ายของข้อความที่มาจากตัวแปร e ซึ่งมีค่าเท่ากับ
m
ตัวอย่างการใช้งาน
Arrays
Arrays
คือ การเก็บข้อมูลในลักษณะเป็นชุด โดยแต่ละชุดจะมีสมาชิกของตัวเอง ซึ่งจะเพิ่มความ
สามารถในการทำงานได้ง่ายยิ่งขึ้น
ดังนั้น ตัวแปร 1 ตัว จะเก็บข้อมูลได้หลาย
ๆ ข้อมูล หรือ หลายสมาชิกนั้นเอง การกำหนดค่าตัวแปร
นั้น จะอยู่หลังตัวแปรภายในเครื่องหมาย [...] เช่น $a[0] = "abc"; เป็นต้น
อะเรย์ 1 มิติ (Single Dimension Arrays)
$a[0] = "abc";
$a[1] = "def";
$b["foo"] = 13;
อะเรย์หลายมิติ (Multi-Dimensional Arrays)
$a[1] = $f; # อะเรย์แบบ 1 มิติ
$a["foo"] = $f; # อะเรย์แบบ 1 มิติ
$a[1][0] = $f; # อะเรย์แบบ 2 มิติ
$a["foo"][2] = $f; # อะเรย์แบบผสม 2 มิติ
$a[3]["bar"] = $f; # อะเรย์แบบผสม 2 มิติ
$a["foo"][4]["bar"][0] = $f; # อะเรย์แบบผสม 4 มิติ
ตัวอย่างการใช้งาน
Objects
Objects
คือ การเขียนชุดคำสั่งที่เรามักจะเรียกใช้งานบ่อย ๆ หรือ ใช้งานในลักษณะพิเศษ
เพื่อความสะดวกในการทำงาน อาจจะอยู่ในรูปของ Class หรือ Function การทำงาน
เช่น
class foo {
function do_foo () {
echo "Hello
Everybody";
}
}
$bar = new foo;
$bar->do_foo();
ผลลัพธ์ที่ได้คือข้อความว่า Hello Everybody
ตัวอย่างการใช้งาน
Type juggling
$foo++;
// $foo จะมีค่าเท่ากับ
$foo = 5 + "10 Small"; // $foo มีค่าเท่ากับ 15 ถือว่า ตัวเลขหน้าข้อความเป็นชนิด
Integer
ตัวดำเนินการทางด้านคณิตศาสตร์
Arithmetic Operators
|
การใช้งาน
|
ชื่อตัวดำเนินการ
|
ความหมาย
|
| $a
+ $b |
บวก
|
หาผลรวมระหว่าง
$a กับ $b |
| $a
- $b |
ลบ
|
หาผลต่างระหว่าง
$a กับ $b |
| $a
* $b |
คูณ
|
หาผลคูณของ
$a กับ $b |
| $a
/ $b |
หาร
|
หาการหารระหว่าง
$a กับ $b |
| $a
% $b |
หารหาเศษ
|
การหารเพื่อหาเอาเศษ
ระหว่าง $a กับ $b |
ตัวดำเนินการทางด้านการกำหนดค่า
Assignment Operators
ตัวอย่างที่
1
$a = ($b = 4) + 5;
จะเห็นได้ว่า $a จะมีค่าเท่ากับ 9 และ $b จะมีค่าเท่ากับ 4 เนื่องจากจะมีการให้ค่าในวงเล็บก่อน
$a
= $b = 8+1;
จะเห็นได้ว่า $a และ $b จะมีค่าเท่ากับ 9 ดังนั้นจะเห็นได้ว่าจะมีการให้ค่าจากขวามาซ้าย
ก็คือ
มีการนำ 8 มาบวกกับ 1 ก่อนนั้นเอง
ตัวอย่างที่
2
$a=2;
$b=2;
++$a;
$b++;
จากตัวอย่างนี้ $a และ $b จะมีการเพิ่มค่าขึ้นไปทีละ 1 ซึ่งจะมีค่าเท่ากับ
3 นั่นเอง
ตัวอย่างที่
3
$a=9;
$b=++$a;
จากตัวอย่างนี้ $b จะมีค่าเท่ากับ 10 ด้วยวิธีการของ Pre-increment ก็คือ
มีการเพิ่มค่าก่อน
แล้วค่อยให้ค่ากับตัวแปร แต่ลองดู ต.ย. ต่อไปนี้
ตัวอย่างที่
4
$a=9;
$b=$a++;
จากตัวอย่างนี้ $b จะมีค่าเท่ากับ 9 ด้วยวิธีการของ Post-increment ก็คือจะมีการให้ค่ากับตัวแปร
ก่อน แล้วค่อยมีการเพิ่มค่านั่นเอง
หมายเหตุ
:ถ้าต้องการลดค่าก็เปลี่ยนจาก ++ เป็น --
ตัวดำเนินการทางด้านตรรกศาสตร์
Logical Operators
|
การใช้งาน
|
ชื่อตัวดำเนินการ
|
ความหมาย
|
| $a
and $b |
และ
|
เป็นจริง
เมื่อ $a และ $b มีค่าเป็น จริง |
| $a
or $b |
หรือ
|
เป็นจริง
เมื่อ $a หรือ $b มีค่าเป็น จริง |
| $a
xor $b |
หรือ
|
เป็นจริง
เมื่อ $a หรือ $b ตัวใดตัวหนึ่งมีค่าเป็น จริง |
| !
$a |
ตรงกันข้าม
|
เป็นจริง
เมื่อ $a มีค่าเป็น เท็จ |
| $a
&& $b |
และ
|
เป็นจริง
เมื่อ $a และ $b มีค่าเป็น จริง |
| $a
|| $b |
หรือ
|
เป็นจริง
เมื่อ $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 |
ตัวดำเนินการทางด้านคำสั่ง
Execution Operators
คือ การดึงคำสั่งของ Unix มาใช้งาน ให้กำหนดภายเครื่องหมาย
Backticks (``)
ดังตัวอย่างต่อไปนี้ ต้องการแสดงรายชื่อของไฟล์
$showes
= `ls -al`; // เห็นได้ว่า ls -al เป็นคำสั่งของ Unix
echo "<PRE>$showes</PRE>"; // แสดงผลด้วยคำสั่ง echo ที่จะพบกันในบทต่อไป
ตัวดำเนินการทางด้านการเพิ่มลดค่า
Incrementing/Decrementing Operators
|
การใช้งาน
|
ชื่อตัวดำเนินการ |
ความหมาย
|
| ++$a |
Pre-increment |
เพิ่มค่าทีละ
1 ก่อนแล้วค่อยให้ค่ากับตัวแปร |
| $a++ |
Post-increment |
ให้ค่ากับตัวแปรก่อนแล้วค่อยเพิ่มค่าทีละ
1 |
| --$a |
Pre-decrement |
ลดค่าทีละ
1 ก่อนแล้วค่อยให้ค่ากับตัวแปร |
| $a-- |
Post-decrement |
ให้ค่ากับตัวแปรก่อนแล้วค่อยลดค่าทีละ
1 |
ตัวดำเนินการทางด้านตัวอักษร
String Operators
ตัวอย่างที่
1
$a = "Hello ";
$b = $a . "World!";
ตัวอย่างที่
2
$a = "Hello ";
$a .= "World!";
|