ความพร้อมของตัวแปร PHP
โปรแกรมเมอร์ PHP เริ่มต้นหลายคนสับสนว่าเมื่อตัวแปร PHP พร้อมใช้งานภายในโปรแกรม PHP โดยทั่วไปมันขึ้นอยู่กับ อย่างไร และ ที่ไหน ตัวแปรถูกประกาศหรือสร้างขึ้น ในบทช่วยสอนก่อนหน้า * คุณได้เรียนรู้ว่าในกรณีส่วนใหญ่คุณจะประกาศตัวแปรด้วยการให้ค่าเริ่มต้น

$ dollar_amt = 10;

ที่ดูแล อย่างไร เพื่อประกาศตัวแปร แต่ ที่ไหน คุณประกาศว่าตัวแปรก็สำคัญเช่นกัน ตัวแปรมีเฉพาะในที่ที่มันถูกสร้างขึ้น ตัวอย่างเช่นถ้าเราสร้างตัวแปรภายในฟังก์ชั่นตัวแปรนั้นจะใช้ได้เฉพาะภายในฟังก์ชันนั้น ไม่มีอยู่นอกฟังก์ชันนั้น นึกถึงฟังก์ชันเป็นกล่องที่มีตัวแปรและคุณไม่สามารถใช้ตัวแปรภายนอกกล่องได้ ลองมาดูตัวอย่าง ฟังก์ชั่นด้านล่างสร้างตัวแปร $ dollar_amt จากนั้นพิมพ์ประโยคหนึ่งไปยังเว็บเบราว์เซอร์

ฟังก์ชั่น print_cost ()
{$ dollar_amt = 10;
echo "ราคานี้คือ $ dollar_amt ดอลลาร์"; }

ไม่มีปัญหาที่นี่เพราะเราใช้ตัวแปรในคำสั่ง echo และคำสั่ง echo นั้นเป็นส่วนหนึ่งของฟังก์ชั่นเดียวกันที่สร้างตัวแปร (ทั้งหมดอยู่ในกล่อง) แต่ถ้าเราต้องการใช้ตัวแปรในคำสั่ง echo ครั้งที่สองในโปรแกรมเราจะไม่ทำงานภายในกล่องอีกต่อไป เราจะพยายามใช้ตัวแปร "ภายนอก" ของฟังก์ชั่นดั้งเดิมที่สร้างขึ้น

ฟังก์ชั่น print_cost ()
{$ dollar_amt = 10;
echo "ราคานี้คือ $ dollar_amt ดอลลาร์"; }
------
------
echo "คุณจะต้องส่งเช็คให้กับดอลลาร์ dollar_amt ดอลลาร์";

เนื่องจากตัวแปรไม่สามารถใช้ได้กับคำสั่ง echo ที่สองหน้าเว็บจะมีลักษณะเช่นนี้

คุณจะต้องส่งเช็คเป็นดอลลาร์

แต่คุณสามารถสร้างตัวแปรได้ทุกที่ในโปรแกรมของคุณและไม่ใช่แค่ภายในฟังก์ชั่น สิ่งที่เกี่ยวกับตัวแปรประกาศนอกฟังก์ชั่นตัวอย่างเช่นภายในร่างกายหลักของโปรแกรมของคุณ? กฎความพร้อมใช้งานเดียวกันเป็นจริง ตัวแปรมีเฉพาะในกรณีที่สร้างขึ้น (ในกรณีนี้อยู่นอกกล่อง) หากคุณพยายามใช้ตัวแปรภายในฟังก์ชั่น / กล่องมันจะไม่สามารถใช้ได้ ตัวอย่างเช่นหากคุณตั้งค่าเริ่มต้นของตัวแปร $ cent_amt เป็น 50 ในโปรแกรมของคุณคุณจะไม่สามารถใช้งานได้ภายในฟังก์ชั่นด้านล่าง

$ cent_amt = 50;


ฟังก์ชั่น print_cost ()
{$ dollar_amt = 10;
echo "ราคานี้คือ $ dollar_amt ดอลลาร์และ $ cent_amt cents"; }

ในเว็บเบราว์เซอร์คุณจะเห็นเพียงประโยคต่อไปนี้

ราคาคือ 10 ดอลลาร์และเซนต์

แต่สิ่งที่เกี่ยวกับเวลาเหล่านั้นเมื่อคุณต้องการใช้ตัวแปร "นอก" ในฟังก์ชั่น? วิธีง่ายๆในการแก้ไขปัญหานี้คือการส่งผ่านตัวแปรนั้นเป็นอาร์กิวเมนต์เมื่อคุณเรียกใช้ฟังก์ชัน

print_cost ( "50");

-------
* คุณอาจต้องการอ่านบทช่วยสอนบางอย่างเกี่ยวกับตัวแปรและฟังก์ชั่น PHP