ตัวแปรและชนิดข้อมูลใน PHP
ในบทเรียนที่แล้ว เราได้เรียนรู้เกี่ยวกับการทำงานร่วมกันระหว่าง PHP และ HTML ในบทนี้ เราจะมาทำความเข้าใจเกี่ยวกับ ตัวแปร (Variables) และ ชนิดข้อมูล (Data Types) ซึ่งเป็นหัวใจสำคัญของการเขียนโปรแกรมด้วย PHP
ตัวแปรคืออะไร?
ตัวแปรเปรียบเสมือนกล่องที่ใช้เก็บข้อมูลต่างๆ ในโปรแกรมของเรา ข้อมูลเหล่านี้อาจเป็นตัวเลข ข้อความ หรือข้อมูลประเภทอื่นๆ เราสามารถนำข้อมูลที่เก็บไว้ในตัวแปรมาใช้ในการคำนวณ ประมวลผล หรือแสดงผลได้
การประกาศและใช้งานตัวแปรใน PHP
ใน PHP เราใช้เครื่องหมาย $ (dollar sign) นำหน้าชื่อตัวแปรเสมอ เพื่อบ่งบอกว่ามันคือตัวแปร การประกาศตัวแปรใน PHP ไม่จำเป็นต้องระบุชนิดข้อมูล (Data Type) เนื่องจาก PHP เป็นภาษาแบบ Dynamically Typed ซึ่งหมายความว่าชนิดข้อมูลของตัวแปรจะถูกกำหนดโดยอัตโนมัติตามค่าที่ถูกกำหนดให้กับตัวแปรนั้น
รูปแบบการประกาศตัวแปร:
$ชื่อตัวแปร = ค่าที่ต้องการเก็บ;
ตัวอย่าง:
<?php
$name = "John Doe"; // ตัวแปร $name เก็บข้อความ "John Doe"
$age = 30; // ตัวแปร $age เก็บตัวเลข 30
$price = 99.99; // ตัวแปร $price เก็บตัวเลขทศนิยม 99.99
?>
ข้อควรจำในการตั้งชื่อตัวแปร:
- ชื่อตัวแปรต้องขึ้นต้นด้วยตัวอักษร (a-z, A-Z) หรือเครื่องหมาย underscore (_)
- ชื่อตัวแปรสามารถมีตัวอักษร ตัวเลข และ underscore ได้
- ชื่อตัวแปรมีความอ่อนไหวต่อตัวพิมพ์เล็ก-ใหญ่ (case-sensitive) เช่น
$nameกับ$Nameคือตัวแปรคนละตัว - หลีกเลี่ยงการใช้คำสงวน (Reserved Keywords) ของ PHP เช่น
echo,class,functionเป็นชื่อตัวแปร
การใช้งานตัวแปร
เมื่อเราประกาศตัวแปรแล้ว เราสามารถนำตัวแปรนั้นมาใช้งานได้ โดยการอ้างอิงถึงชื่อของตัวแปร
<?php
$name = "John Doe";
$age = 30;
echo "My name is " . $name . " and I am " . $age . " years old.";
?>
ผลลัพธ์:
My name is John Doe and I am 30 years old.
ในตัวอย่างข้างต้น เราใช้เครื่องหมาย . (dot) เพื่อเชื่อมต่อข้อความ (string concatenation) เข้ากับค่าของตัวแปร
ชนิดข้อมูล (Data Types) ใน PHP
PHP สนับสนุนชนิดข้อมูลพื้นฐานหลายชนิด แต่ที่สำคัญและใช้บ่อยมีดังนี้:
- Integer (จำนวนเต็ม): ใช้เก็บตัวเลขจำนวนเต็ม เช่น 1, 100, -5, 0
- Float (จำนวนทศนิยม): ใช้เก็บตัวเลขที่มีทศนิยม เช่น 3.14, 99.99, -0.5
- String (ข้อความ): ใช้เก็บลำดับของตัวอักษร (characters) เช่น "Hello", "PHP", "123"
- Boolean (ค่าความจริง): ใช้เก็บค่าความจริงที่เป็นไปได้สองค่าคือ
true(จริง) หรือfalse(เท็จ) - Array (อาเรย์): ใช้เก็บชุดของข้อมูลหลายๆ ค่าไว้ในตัวแปรเดียว
Integer
ใช้แทนจำนวนเต็มบวก ลบ หรือศูนย์
<?php
$number = 10;
$negativeNumber = -5;
$zero = 0;
echo $number; // Output: 10
?>
Float
ใช้แทนจำนวนที่มีทศนิยม
<?php
$pi = 3.14159;
$price = 199.99;
echo $pi; // Output: 3.14159
?>
String
ใช้แทนข้อความ โดยข้อความต้องอยู่ภายในเครื่องหมาย single quote (') หรือ double quote (")
<?php
$greeting = "Hello, world!";
$name = 'Alice';
echo $greeting; // Output: Hello, world!
?>
ความแตกต่างระหว่าง Single Quote และ Double Quote:
Double quotes อนุญาตให้เราแทรกตัวแปรลงใน string ได้โดยตรง (variable interpolation) ในขณะที่ single quotes จะมองทุกอย่างเป็น literal string
<?php
$name = "Bob";
echo "My name is $name"; // Output: My name is Bob
echo 'My name is $name'; // Output: My name is $name
?>
Boolean
ใช้แทนค่าความจริง มีเพียงสองค่าเท่านั้นคือ true และ false มักใช้ในเงื่อนไขต่างๆ
<?php
$isStudent = true;
$isAdult = false;
if ($isStudent) {
echo "You are a student.";
} else {
echo "You are not a student.";
}
?>
Array
ใช้เก็บชุดของข้อมูลหลายๆ ค่าไว้ในตัวแปรเดียว เราจะเรียนรู้เกี่ยวกับ arrays อย่างละเอียดในบทเรียนต่อๆ ไป
<?php
$colors = array("red", "green", "blue");
echo $colors[0]; // Output: red
?>
การแปลงชนิดข้อมูล (Type Casting)
บางครั้งเราอาจต้องการแปลงชนิดข้อมูลของตัวแปรจากชนิดหนึ่งไปเป็นอีกชนิดหนึ่ง PHP มีฟังก์ชันสำหรับการแปลงชนิดข้อมูล (type casting) ดังนี้:
(int)หรือ(integer): แปลงเป็น integer(float)หรือ(double)หรือ(real): แปลงเป็น float(string): แปลงเป็น string(bool)หรือ(boolean): แปลงเป็น boolean(array): แปลงเป็น array(object): แปลงเป็น object
ตัวอย่าง:
<?php
$numberAsString = "123";
$number = (int) $numberAsString; // แปลง string "123" เป็น integer 123
$piAsString = "3.14";
$pi = (float) $piAsString; // แปลง string "3.14" เป็น float 3.14
$booleanValue = (bool) 0; // แปลง integer 0 เป็น boolean false
$booleanValue2 = (bool) 1; // แปลง integer 1 เป็น boolean true
$booleanValue3 = (bool) "hello"; // แปลง string "hello" เป็น boolean true (string ว่างเปล่า "" จะเป็น false)
echo gettype($number); // Output: integer
echo gettype($pi); // Output: double
echo gettype($booleanValue); // Output: boolean
?>
ฟังก์ชัน gettype() ใช้เพื่อตรวจสอบชนิดข้อมูลของตัวแปร
การแปลงชนิดข้อมูลมีความสำคัญเมื่อเราต้องการใช้งานตัวแปรในรูปแบบที่ต่างไปจากชนิดข้อมูลเดิม เช่น การนำ string ที่มีตัวเลขมาคำนวณทางคณิตศาสตร์ เราจะต้องแปลง string นั้นเป็น integer หรือ float ก่อน
ในบทนี้ เราได้เรียนรู้เกี่ยวกับตัวแปรและชนิดข้อมูลพื้นฐานใน PHP ซึ่งเป็นพื้นฐานสำคัญสำหรับการเขียนโปรแกรมที่ซับซ้อนมากยิ่งขึ้น ในบทต่อไป เราจะมาเรียนรู้เกี่ยวกับ ตัวดำเนินการ (Operators) ซึ่งเป็นเครื่องมือที่ใช้ในการประมวลผลข้อมูลใน PHP