รู้จักกับ Data Type ใน PHP
PHP เป็นภาษาที่ไม่ต้องการการประกาศตัวแปร อย่างที่เราได้พูดถึงไปแล้วก่อนหน้านี้ แต่การที่เรากำหนดค่าให้กับตัวแปรทุกครั้ง PHP จะทำการเลือก Data Type ที่เหมาะสมให้กับเรา เราจึงจำเป็นต้องทำความเข้าใจเรื่องของ Data Type ที่มีใน PHP เพราะ Data type แต่ละแบบอาจให้ผลลัพธ์ไม่เหมือนกัน เช่น
- 3 + 5 = 8
- “3” + “5” =“35”
ดังนั้นถ้าเราเข้าใจการเปลี่ยนแปลงของ data type ของตัวแปรจะช่วยให้เรามี bug หรือ defect น้อยลง เพราะส่วนใหญ่ bug จะเกิดจากการที่ค่าของตัวแปรไม่ได้เป็นไปตามที่เราคิดไว้
Data Types ใน PHP
String
String เป็นสายอักขระ หรือข้อความที่เรียงต่อกัน เป็น Data Type ที่มีอยู่ในทุกๆภาษา
ตัวแปรชนิดนี้จะอยู่ใน Single Qoute (’’) หรือ Double Qoute ("") ก็ได้
$x = "Hello world!";
echo $x;
echo "<br>";
$x = 'Hello world!';
echo $x;
Integer
Integer เป็นเลขจำนวนเต็มระว่าง -2,147,483,648 and +2,147,483,647 กฎของ Integers
- มีเฉพาะตัวเลข 0-9
- ห้ามมี comma (,) หรือ ตัวว่าง
- ห้ามมีจุดทศนิยม
- เป็นได้ทั้ง + และ -
- Integer สามารถเขียนได้ทั้งเลขฐาน 8, ฐาน 10 และ ฐาน 16
$x = 5985;
var_dump($x);
echo "<br>";
$x = -345; // negative number
var_dump($x);
echo "<br>";
$x = 0x8C; // hexadecimal number
var_dump($x);
echo "<br>";
$x = 047; // octal number
var_dump($x);
Float
Floating Point Number เป็นเลขทศนิยม
$x = 10.365;
var_dump($x);
echo "<br>";
$x = 2.4e3;
var_dump($x);
echo "<br>";
$x = 8E-5;
var_dump($x);
Boolean
เป็นตัวแปรที่มีค่าเป็น True หรือ False ใช้ในการตรวจสอบเงื่อนไข
$x = true;
$y = false;
Array
เป็นลักษณะการเก็บข้อมูลหลายๆค่าไว้ในตัวแปรเดียว เราจะพูดถึงในรายละเอียดของการเก็บข้อมูลแบบ Array ในบทต่อไป
$cars = array("Volvo","BMW","Toyota");
var_dump($cars);
Object
การเก็บข้อมูลในแบบที่เป็น Object จะคล้ายๆกับ Array แต่การเรียกข้อมูลจะไม่เหมือนกัน
ชนิดข้อมูลแบบ Object จะมีอยู่ 2 แบบใหญ่ๆคือ
- Standard Class จะเป็น Class ที่ไม่ต้องทำการ Define
$obj = new stdObject();
$obj->name = "Nick";
$obj->surname = "Doe";
$obj->age = 20;
$obj->adresse = null;
- Predefined Class เป็น Class ที่ต้องทำการ Define ขึ้นมาก่อน
class Car {
var $color;
function Car($color = "green") {
$this->color = $color;
}
function what_color() {
return $this->color;
}
}
NULL Value
เป็น Data Type ที่มีค่า NULL ได้เพียงค่าเดียว เป็น Data Type ที่บอกว่าตัวแปรยังไม่มีข้อมูล
NULL หมายถึงไม่รู้ว่าค่าเป็นอะไร ไม่ใช่ไม่มีค่า
- ใช้สำหรับแยกระหว่าง Empty String และ Null ใน database
- ใช้สำหรับ set ตัวแปรให้เป็นค่าว่าง
$x = "Hello world!";
$x = null;
var_dump($x);