ตัวแปร (variables) ของ PHP
ตัวแปรระดับฟังก์ชัน (local variable)
เป็นการประกาศเพื่อใช้เฉพาะภายในฟังก์ชัน
ไม่สามารถเรียกจากภายนอกฟังก์ชันได้
<?php
$newline = <<<NLSTRING
<br/>\n
NLSTRING;
$var_global = 10 ;
function show_value()
{
global $newline;
$var_local= 75 ;
echo "\$var_local 1: $var_local";
echo $newline;
}
show_value();
echo "\$var_global : $var_global";
echo $newline;
echo "\$var_local 2: $var_local";
echo $newline;
?>
ผลลัพธ์
$var_global 1 :
$var_local 1: 75
$var_global 2: 10
$var_local 2:
ตามตัวอย่างนี้
ตัวแปรระดับฟังก์ชัน $var_local ไม่สามารถแสดงผลในการพิมพ์ภายนอกฟังก์ชัน
show_value() และ$var_global ที่เป็นตัวแปรระดับ
global ไม่สามารถแสดงผลภายใน show_value() เพราะมี scope ต่างกัน
ตัวแปรระดับ (global)
ถ้าต้องการนำตัวแปรระดับ
global
มาใช้ภายในฟังก์ชันต้องประกาศด้วยคีย์เวิร์ด global ก่อนประโยคคำสั่งที่ใช้ตัวแปรนั้น ตัวอย่าง ฟังก์ชัน show_value() ใช้ $newline จากภายนอกฟังก์ชัน
global $newline;
ตัวแปรสถิตย์
การประกาศตัวแปรสถิตย์ใช้
คีย์เวิร์ด static เมื่อมีการเรียกใช้ฟังก์ชัน
โปรแกรมจะกำหนดค่าตัวแปรตามที่ระบุเพียงครั้งเดียว
ถ้าเรียกซ้ำอย่างต่อเนื่องค่านี้จะเปลี่ยนแปลงตามการคำนวณ
<?php
function increment()
{
static $increase = 5 ;
$increase++;
echo $increase."<br/>\n";
}
$end = 5 ;
for ($i = 1 ; $i < $end; $i++)
increment();
?>
ผลลัพธ์
6
7
8
9
ค่าของตัวแปรสถิตย์ได้รับการตั้งทุกครั้งเมื่อเรียกใช้ในครั้งต่อไป
ตัวอย่างที่ 1
<?php
echo "Hello, World!";
?>
เมื่อเรียกผ่าน web
browser ก็จะได้ผลคือ Hello, World! จะสังเกตเห็นว่า
โปรแกรมนี้ คล้ายกับโปรแกรมตัวอย่างจากบทที่ 1 ลองพิมพ์และ save
โปรแกรมนี้ลงในห้อง c:\_0001
จะใช้ชื่ออะไรก็ได้ แต่ใช้นามสกุล php แล้วลองเรียกดูจาก browser
จะเห็นว่า โปรแกรม php
จะขึ้นต้นด้วย <?php และจบลงด้วย ?>
ในแต่ละบรรทัด จะต้องลงท้ายด้วยเครื่องหมาย ; เสมอ ขอให้สังเกตว่า แต่ละบรรทัด อาจจะยาวมากกว่า 1
บรรทัดก็ได้ เช่นในกรณีที่เขียนโปรแกรมยาวมาก ๆ โปรแกรม editor ก็จะตัดบรรทัดให้ แต่ความจริงยังไม่จบบรรทัด
การย่อหน้าไม่จำเป็น
เพียงแต่ทำให้ดูง่ายขึ้น ควรย่อหน้าให้เป็นระบบจะช่วยในการตรวจแก้โปรแกรมภายหลัง
ตัวอย่างที่ 2
<?php
$message = "Hello, World!";
echo $message;
?>
จากตัวอย่างที่ 2 จะเห็นว่าคล้ายกับตัวอย่างที่ 1
เพียงแต่มีการใช้ตัวแปรเพิ่มขึ้นมาเท่านั้น มีข้อสังเกตดังนี้
การประกาศตัวแปร
ใช้เครื่องหมาย $ นำหน้า จากตัวอย่าง $message
เป็นตัวแปรตัวหนึ่ง ที่ใช้เก็บค่า Hello, World!
จะสังเกตว่า
การใช้ตัวอักษรจะอยู่ในเครื่องหมายคำพูด
ใน PHP ไม่มีการประกาศตัวแปรล่วงหน้าว่าเป็นตัวแปรประเภทใด
แต่โปรแกรมจะรู้ได้จากการใช้ตัวแปรนั้น ๆ
การเรียกใช้ตัวแปร
ไม่จำเป็นต้องอยู่ในเครื่องหมายคำพูด เรียกใช้ได้โดยตรง เช่น echo
$message; จะมีหรือไม่มีเครื่องหมายคำพูดก็ได้
ตัวอย่างที่ 3
<?php
$greeting = "Hello, ";
$num = 3+2;
$num++;
echo $greeting . $num . “ people”;
?>
ถ้า save
ไว้ในห้อง c:\_0001 ซี่งเป็น virtual
directory โดยใช้ชื่อไฟล์ว่า hello.php และเรียกผ่านInternet
Explorer จะได้ผลดังนี้ (การทำ c:\_0001 ให้เป็น
virtual directory ให้ดูบทที่ 1)
มีข้อสังเกตเพิ่มเติม
ดังนี้
การใช้ตัวเลขตามปกติ
ไม่ต้องอยู่ในเครื่องหมายคำพูด
เว้นแต่ถ้าต้องการใช้ในลักษณะตัวอักษรจะต้องอยู่ในเครื่องหมายคำพูด
เครื่องหมาย ++
เป็นการเพิ่มค่าให้แก่ตัวแปรที่เป็นตัวเลข ซึ่งจะเท่ากับ ตัวแปรตัวนั้น บวกด้วย 1 จากตัวอย่างก็คือ $num + 1 นั่นเอง
ใช้เครื่องหมาย จุด
เป็นตัวเชื่อมตัวแปรเข้าด้วยกัน เช่น $greeting . $num
ตัวอย่างที่ 4
<?php
$name = 'สุวรรณี';
// กำหนดค่าให้แก่ตัวแปร $name
$greeting_1 = "สวัสดี
$name";
$greeting_2 = 'สวัสดี,
$name';
echo "$greeting_1\n";
echo "$greeting_2\n";
?>
ให้ save
ลง c:\_0001 โดยใช้ชื่อ hello_2.php เมื่อเรียกผ่านเว็บ
หรือลองรันดู จะได้ผลดังนี้
มีข้อสังเกตดังนี้
การใช้เครื่องหมายคำพูดสองเดียว
กับ ขีดเดียว มีความหมายต่างกัน
การใช้เครื่องหมายคำพูดสองขีด
โปรแกรมจะแปรค่าตัวแปร แล้วนำมาแสดงผลให้เห็น เช่น สวัสดี สุวรรณี ชื่อสุวรรณี
อยู่ในตัวแปร $name
การใช้เครื่องหมายคำพูดขีดเดียว
โปรแกรมจะไม่แปรค่าตัวแปร แต่จะแสดงเหมือนกับที่เขียน เช่น สวัสดี $name
ใช้เครื่องหมาย //
เพื่อเขียนคำอธิบาย ส่วนที่อยู่ต่อจากเครื่องหมายนี้ ในบรรทัดเดียวกัน
จะไม่แสดงออกให้เห็นเมื่อรันโปรแกรม ถ้าจะเขียนหลายบรรทัด ให้ใชเครื่องหมาย /*
เพื่อเริ่มต้น และ */ เมื่อจบคำอธิบาย


ไม่มีความคิดเห็น:
แสดงความคิดเห็น