php‎ > ‎

ชนิดของข้อมูลใน PHP (Data Type)

Data Type for PHP  ประเภทข้อมูลของ PHP

1.      Integer คือจำนวนเต็ม ไม่ใช่ทศนิยมนั่นเอง

2.      Float / double  คือ ทศนิยม หรือไม่ใช่จำนวนจริง

3.      String คือ ตัวอักษร แบ่งออกได้อีก 3 ประเภทคือ

3.1  Single Quoted  เริ่มต้นและปิดท้ายด้วย ()  เช่น ‘hello’

3.2  Doble Quoted   จะทำการแปลความหมายของคำที่ใส่ (“ ”) ออกมาเมื่อใส่ ตามตาราง escape

 

 

ตาราง  escape

ในบทความนี้ผมจะนำ Escape sequence ทั้งหมดมาแสดงให้ผู้อ่านได้รู้จักนะครับ ซึ่งผู้อ่านสามารถนำไปใช้กับการกำหนดค่าให้กับตัวแปรชนิด string ภายใน double quotes ได้ โดยescape sequence ต่าง ๆ มีดังนี้

\"

Double quotes

\n"

Newline (ขึ้นบรรทัดใหม่)

\r

Carriage return

\t

Tab

\\

Backslash

\$

Dollar sign

\{

Left brace

\}

Right brace

\[

Left bracket

\]

Right bracket

\0 จนถึง \777

ASCII character ในเลขฐานแปด

\x0 จนถึง \xFF

ASCII character ในเลขฐานสิบหก

 

ตัวอย่างที่เห็นชัดเจนคือ 

$var = "TEST";
echo '$var';  //Single Quote
echo "$var"; // Double Quote

 

ผลลัพธืที่ได้ คือ

Quote

$var
TEST

 

 

ต่อมาก็คือ single quote ไม่สามารถ escape character ภายในได้ ยกเว้นตัวมันเอง (\') ตัวอย่าง


echo "this\tis the 2\$ \'s \"test\" \x45.<br>\\";  // double quote
echo 'this\tis the 2\$ \'s \"test\" \x45.<br>';  // single quote



ผลลัพธ์ที่ได้คือ

Quote

this is the 2$ \'s "test" E.<br>
this\tis the 2\$ 's \"test\" \x45.<br>\n\r

 

Heredoc Notation

วิธีที่ 3 สำหรับข้อความนำส่วนหัวในสคริปต์ PHP คือใช้ไวยากรณ์ heredoc ไวยากรณ์นี้เหมือนกับสคริปต์ PERL และ Bourne Shell ข้อความเริ่มต้นด้วย <<< และ identifier จนกระทั้งสิ้นสุดด้วย identifier วางชิดซ้ายและ semicolon (;)

<?php

      echo <<<TITLE
<h1 align="center">แสดงข้อความด้วย Heredoc</h1>
<p>การแสดงข้อความด้วย heredoc 

สามารถทำงานกับข้อความได้สะดวก <br/>
การเว้นบรรทัดใช้ br tag <br/>
</p>

TITLE;
?>

ห้ามวางเครื่องหมายต่าง เช่น จุด คูณ บวก ติดกับ identifier จะมีผลต่อการกระจายของ PHP

 

 

4.      Boolean เป็นข้อมูลทางตรรกะ True หรือ False

5.      Array  ตัวนี้ใช้บ่อย ส่วนมากใช้คู่กับ Loop  เช่น  a[i]  

6.      Object  ประเภทข้อมูลชนิดใหม่เพิ่มขึ้นมาเพื่อ สนับบสนุน object-oriented programming รายละเอียดจะพูดถึงในส่วนของ oo

7.   Variable Expansion

   ตามที่ได้กล่าวถึงข้อความ double quoted และ heredoc ใน PHP สามารถเก็บการอ้างอิงตัวแปรด้วยเครื่องหมาย  $ และ engine จะทราบว่าต้องทำอะไร

Variable Expansion ใน PHP เป็นส่วนการทำงานความสามารถสูงที่ให้ด้านความเร็วและการผสมเนื้อหากับโปรแกรม มี 2 วิธีในการใช้ส่วนการทำงานนี้คือ แบบง่ายและแบบซับซ้อน แบบแรกสำหรับการตัวแปร ค่า array หรือคุณสมบัติอ๊อบเจค ขณะที่แบบหลังสำหรับส่วนขยายแม่นยำมากกว่า
ตัวอย่างแบบง่าย

<?php

$type = "simple";
echo "นี่เป็นตัวอย่างของส่วนขยาย '$type' "; 
$type = array("แบบง่าย", "แบบซับซ้อน");

echo<<<THE_END
 เช่นกัน นี่เป็นตัวอย่างของส่วนขยาย array '$type[0]'

THE_END;

?>

เมื่อ PHP processor เห็น $ ในข้อความ double quoted หรือ heredoc จะอ่านตัวอักษรทั้งหมดจนสิ้นสุดชื่อตัวแปร, ดัชนีของ array หรือคุณสมบัติอ๊อบเจค จากนั้นจะประเมินผลลัพธ์และวางค่าในข้อความผลลัพธ์

ตามตัวอย่าง ถ้าไม่ใส่ single quoted (‘) ล้อมตัวแปร $type ไว้ PHP จะแสดงผลลัพธ์เป็นความผิดพลาด

การแก้ปัญหานี้สามารถใช้ส่วนขยายตัวแปรแบบซับซ้อน การใช้ให้หุ้มส่วนขยายด้วยวงเล็บปีก { } ในคำสั่ง PHP processor มองหาวงเล็บปีกกาทันทีต่อจาก $ ที่ระบุแหล่งส่วนขยายตัวแปร กรณีอื่นแสดงผลวงเล็บปีกและสิ่งที่ติดตามมา

<?php

$hour = 16;
$kilometres = 4;
$content = "ลูกอม";

echo "   4pm ในเวลา 24 ชั่วโมง คือ  {$hour}00 นาฬิกา<br/>\n";

echo <<<MSG
ระยะทาง {$kilometres}000 เมตร เท่ากับ {$kilometres} กม.<br/> 
กระปุกอยู่ที่นี่ และเต็มไปด้วย${content}<br/>

MSG;

?>

ถ้าต้องการมีตัวอักษร {$ ในผลลัพธ์ จะต้อง escape เป็น {\$

ข้อมูลจากเว็บ http://www.widebase.net/internet/php/phpbasic/phpbasic0201.shtml
Comments