Coding Gun

รู้จักกับ Data Type ใน PHP

PHP เป็นภาษาที่ไม่ต้องการการประกาศตัวแปร อย่างที่เราได้พูดถึงไปแล้วก่อนหน้านี้ แต่การที่เรากำหนดค่าให้กับตัวแปรทุกครั้ง PHP จะทำการเลือก Data Type ที่เหมาะสมให้กับเรา เราจึงจำเป็นต้องทำความเข้าใจเรื่องของ Data Type ที่มีใน PHP เพราะ Data type แต่ละแบบอาจให้ผลลัพธ์ไม่เหมือนกัน เช่น

ดังนั้นถ้าเราเข้าใจการเปลี่ยนแปลงของ 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

$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 แบบใหญ่ๆคือ

$obj = new stdObject();
$obj->name = "Nick";
$obj->surname = "Doe";
$obj->age = 20;
$obj->adresse = null;
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 หมายถึงไม่รู้ว่าค่าเป็นอะไร ไม่ใช่ไม่มีค่า

$x = "Hello world!";
$x = null;
var_dump($x);
Phanupong Permpimol
Follow me

Software Engineer ที่เชื่อในเรื่องของ Process เพราะเมื่อ Process ดี Product ก็จะดีตาม ปัจจุบันเป็นอาจารย์และที่ปรึกษาด้านการออกแบบและพัฒนา Software และ Web Security