ตัวแปรในภาษา PHP
ทีมงานทรูปลูกปัญญา | 2009-09-30 10:51:50
สำหรับการเขียนโปรแกรมสำหรับภาษาคอมพิวเตอร์ระดับสูง สิ่งที่จะขาดเสียมิได้คือ การกำหนดและใช้ตัวแปร (variable) ตัวแปรในภาษา PHP จะเหมือนกับในภาษา Perl คือเริ่มต้นด้วยเครื่องหมาย dollar ($) โดยเราไม่จำเป็นต้องกำหนดแบบของข้อมูล (data type) อย่างเจาะจงเหมือนในภาษาซี เพราะว่า ตัวแปลภาษาจะจำแนกเองโดยอัตโนมัติว่า ตัวแปรดังกล่าว ใช้ข้อมูลแบบใด ในช่วงเวลานั้นๆ เช่น ข้อความ จำนวนเต็ม จำนวนที่มีเลขจุดทศนิยมตรรก เป็นต้น
ตัวอย่าง
$datastring = "สวัสดี พ่อ แม่ พี่น้อง";
$datainteger = 1024;
$datafloat = 0.707;
ถ้าเราต้องการจะแสดงค่าของตัวแปร ก็อาจจะใช้คำสั่ง echo ได้
ตัวอย่าง
echo "$datastringn";
echo "$dataintegern";
echo "$datafloatn";
สัญลักษณ์ n หมายถึงการขึ้นบรรทัดใหม่ เป็น escape character ตัวหนึ่ง (สำหรับตัวอื่นๆ โปรดดูในตาราง) เมื่อพิมพ์ข้อความเป็นเอาพุต และโปรดสังเกตว่า สำหรับการใช้งานภายในเอกสาร HTML การขึ้นบรรทัดใหม่โดยใช้ n จะแตกต่างจากการขึ้นบรรทัดโดยใช้
ใน HTML
ตัวอย่าง
$datastring = "สวัสดี พ่อ แม่ พี่น้อง";
$datainteger = 1024;
$datafloat = 0.707;echo
"$datastringn";
echo "$dataintegern";
echo "$datafloatn";
?>
Escaped characters
n à newline
r à carriage
t à horizontal tab
à backslash
$ à dollar sign
" à double-quote
%% àpercent
ตัวแปรตัวหนึ่ง อาจจะมีข้อมูลหลายแบบในช่วงเวลาที่ต่างกัน แต่การจะใช้งานบ้างครั้งจะต้องดูด้วยว่า เมื่อไหร่จะใช้เป็นตัวเลขเท่านั้น และไม่ใช้กับข้อความเป็นต้น
ตัวอย่าง
$x = 12;
$y = $x + 17.5;
echo "$x, $y n";
$x = "abc";
echo "$x n";
$z = $x + 19.5;
echo "$x, $z n";
echo ("1024.5" - 14);
echo (0xef + 007);
?>
ในกรณีนี้ เรากำหนดในตอนแรกว่า $x ให้เก็บค่า 12 ซึ่งเป็นจำนวนเต็ม ถ้าเรานำมาบวกกับ 17.5 ผลที่ได้ก็จะเป็น 29.5 ซึ่งกลายเป็นเลขทศนิยม แล้วเก็บไว้ในตัวแปร $y ต่อมากำหนดให้ตัวแปร $x เก็บสตริงค์ที่เก็บข้อความ "abc" ถ้าเรานำมาบวกกับ 19.5 กรณีนี้ก็จะให้ผลที่ได้ไม่ถูกต้อง เนื่องจากไม่ สามารถนำข้อความมาบวกกับตัวเลขได้ แต่ PHP อนุญาตให้เราทำเช่นนั้นได้ในบางกรณี สมมุติว่า สตริงค์มีเฉพาะตัวเลขและ สามารถเปลี่ยนเป็น เลขจำนวนเต็ม หรือจำนวนจริงได้โดยอัตโนมัติ เราก็นำสตริงค์ นี้มาบวกลบคูณหรือหารกับตัวแปรที่เก็บเป็นตัวเลขได้ ค่าคงที่สำหรับเลขจำนวนเต็ม อาจจะอยู่ในรูปของเลขฐานแปดหรือสิบหกก็ได้ ถ้าเป็นเลขฐานแปดจะมีเลขศูนย์นำ ถ้าเป็นเลขฐานสิบหกจะมี 0x นำหน้า การอ่านและแปลงแบบข้อมูลในตัวแปรหรือค่าคงที่แบบเจาะจงเราสามารถแปลงแบบข้อมูลจากแบบหนึ่งไปยังอีกแบบหนึ่ง (type casting) เช่น แปลงจากข้อความที่มีเฉพาะตัวเลขให้กลายเป็นเลขจำนวนเต็ม (int) หรือทศนิยม (double), (float), (real) หรืออาจจะใช้คำสั่ง settype() ทำได้ดังนี้
ตัวอย่าง
$x = ((double)"100.1") + 0.3e+3;
echo $x,"
n";
echo ($x=(int)$x),"
n";
$x = "P".$x."n";
echo $x,"
n";
$x= ceil(13.45); /* get integer part */
echo $x,"
n";
if (!settype( $x, "integer") ) {
echo "errorn";
}
echo $x," $x%5=",($x%5),"
n";
?>