การใช้ตัวแปรในภาษา PHP

การใช้ตัวแปรในภาษา PHP

สำหรับการเขียนโปรแกรมสำหรับภาษาคอมพิวเตอร์ระดับสูง สิ่งที่จะขาดเสียมิได้คือ การกำหนดและใช้ตัวแปร (variable) ตัวแปรในภาษา PHP จะเหมือนกับในภาษา Perl คือเริ่มต้นด้วยเครื่องหมาย dollar ($) โดยเราไม่จำเป็นต้องกำหนดแบบของข้อมูล(data type) อย่างเจาะจงเหมือนในภาษาซี เพราะว่า ตัวแปลภาษาจะจำแนกเองโดยอัตโนมัติว่า ตัวแปรดังกล่าว ใช้ข้อมูลแบบใด ในช่วงเวลานั้นๆ เช่น ข้อความ จำนวนเต็ม จำนวนที่มีเลขจุดทศนิยม ตรรก เป็นต้น ตัวอย่างการใช้งาน เช่น

$mystring = “Hello World!”;
$myinteger = 1031;
$myfloat = 3.14;

ถ้าเราต้องการจะแสดงค่าของตัวแปร ก็อาจจะใช้คำสั่ง echo ได้ ตัวอย่างเช่น

echo “$mystring\n”;
echo “$myinteger\n”;
echo “$myfloat\n”;

สัญลักษณ์ \n หมายถึงการขึ้นบรรทัดใหม่ เป็น escape character ตัวหนึ่ง (สำหรับตัวอื่นๆ โปรดดูในตาราง) เมื่อพิมพ์ข้อความเป็นเอาพุต และโปรดสังเกตว่า สำหรับการใช้งานภายในเอกสาร HTML การขึ้นบรรทัดใหม่โดยใช้ \n จะแตกต่างจากการขึ้นบรรทัดโดยใช้ <BR> ใน HTML

<?
$mystring = “Hello World!”;
$myinteger = 1031;
$myfloat = 3.14;

echo “$mystring<BR>\n”;
echo “$myinteger<BR>\n”;
echo “$myfloat<BR>\n”;
?>

Escaped characters

\n newline
\r carriage
\t horizontal tab
\\ backslash
\$ dollar sign
\” double-quote
%% percent

ตัวแปรตัวหนึ่ง อาจจะมีข้อมูลหลายแบบในช่วงเวลาที่ต่างกัน แต่การจะใช้งานบ้างครั้งจะต้องดูด้วยว่า เมื่อไหร่จะใช้เป็นตัวเลขเท่านั้น และไม่ใช้กับข้อความเป็นต้น ตัวอย่างเช่น

<?

$x = 10;
$y = $x + 15.5;
echo “$x, $y \n”;
$x = “abc”;
echo “$x \n”;
$z = $x + 15.5;
echo “$x, $z \n”;
echo (“100.5” – 16);
echo (0xef + 007);

?>

ในกรณีนี้ เรากำหนดในตอนแรกว่า $x ให้เก็บค่า 10 ซึ่งเป็นจำนวนเต็ม ถ้าเรานำมาบวกกับ 15.5 ผลที่ได้ก็จะเป็น 25.5 ซึ่งกลายเป็นเลขทศนิยม แล้วเก็บไว้ในตัวแปร $y ต่อมากำหนดให้ตัวแปร $x เก็บสตริงค์ที่เก็บข้อความ “abc” ถ้าเรานำมาบวกกับ 15.5 กรณีนี้ก็จะให้ผลที่ได้ไม่ถูกต้อง เนื่องจากไม่สามารถนำข้อความมาบวกกับตัวเลขได้
แต่ PHP อนุญาตให้เราทำเช่นนั้นได้ในบางกรณี สมมุติว่า สตริงค์มีเฉพาะตัวเลขและสามารถเปลี่ยนเป็น เลขจำนวนเต็ม หรือจำนวนจริงได้โดยอัตโนมัติ เราก็นำสตริงค์นี้มาบวกลบคูณหรือหารกับตัวแปรที่เก็บเป็นตัวเลขได้

ค่าคงที่สำหรับเลขจำนวนเต็ม อาจจะอยู่ในรูปของเลขฐานแปดหรือสิบหกก็ได้ ถ้าเป็นเลขฐานแปดจะมีเลขศูนย์นำ ถ้าเป็นเลขฐานสิบหกจะมี 0x นำหน้า