ตัวแปร PHP
- หน้าก่อนหน้า บทบาท PHP
- หน้าต่อไป PHP Echo / Print
เหมือนทฤษฎีเรขาคณิต
x=5 y=6 z=x+y
ในทฤษฎีเรขาคณิตเราใช้ตัวอักษร (เช่น x) ในการเก็บค่า (เช่น 5)
จากการแสดงที่มีอยู่ z=x+y พวกเราสามารถคำนวณค่าของ z ว่าเท่า 11
ใน PHP สามอักษรดังกล่าวเรียกว่าตัวแปร.
หมายเหตุ:โปรดมองตัวแปรว่าเป็นที่เก็บข้อมูล
ตัวแปร PHP
เหมือนทฤษฎีเรขาคณิต PHP ตัวแปรสามารถใช้เก็บค่า (x=5) และเพิ่มเติม (z=x+y)
ชื่อตัวแปรสามารถสั้น (เช่น x และ y) หรือมีความเหมาะสมด้วย (เช่น carname และ total_volume)
กฎของตัวแปร PHP:
- ตัวแปรเริ่มด้วยสัญญาณ $ ตามด้วยชื่อตัวแปร
- ชื่อตัวแปรต้องเริ่มด้วยอักษรหรือข้อความต่อ
- ชื่อตัวแปรไม่สามารถเริ่มด้วยตัวเลข
- ชื่อตัวแปรสามารถมีตัวอักษรเลขภาษาอังกฤษและตัวชี้ว่า ($A-z, 0-9 และ _)
- ชื่อตัวแปรมีความยับยั้งต่อความสำคัญของความต่างหลายของใหญ่และเล็ก ($y และ $Y คือตัวแปรที่ต่างกัน)
หมายเหตุ:ชื่อตัวแปร PHP มีความยับยั้งต่อความสำคัญของความต่างหลายของใหญ่และเล็ก
สร้างตัวแปร PHP
PHP ไม่มีคำสั่งสร้างตัวแปร
ตัวแปรจะถูกสร้างเมื่อมีการกำหนดค่าให้เป็นครั้งแรก
ตัวอย่าง
<?php $txt="Hello world!"; $x=5; $y=10.5; ?>
หลังจากที่บรรทัดดังกล่าวบรรจุค่า ตัวแปร txt จะบรรจุค่า Hello world! ตัวแปร x จะบรรจุค่า 5 และตัวแปร y จะบรรจุค่า 10.5
หมายเหตุ:หากคุณจะเข้าใจค่าของตัวแปรเป็นข้อความ ให้ใช้คำว่าเครื่องหมายเปิดและปิดเครื่องหมายเปิดเพื่อบรรจุค่า
PHP คือภาษาที่มีชนิดข้อมูลที่อ่อนโยน
ในตัวอย่างดังกล่าว โปรดจำได้ว่าเราไม่จำเป็นต้องบอก PHP ชนิดข้อมูลของตัวแปร
PHP จะแปลงตัวแปรเป็นชนิดข้อมูลที่เหมาะสมโดยตัวเองตามค่า
ในภาษาโค้ดเช่น C และ C++ หรือ Java แล้ว นักแพทย์ต้องประกาศชื่อและชนิดของตัวแปรก่อนที่จะใช้งาน
PHP สรรหาตัวแปร
ใน PHP สามารถประกาศตัวแปรได้ที่ตำแหน่งใดในโค้ด
สรรหาตัวแปรคือส่วนของโค้ดที่ตัวแปรสามารถเข้าถึงหรือใช้งาน
PHP มีสรรหาตัวแปรสามชนิด
- local (ท้องที่)
- global (ทั่วไป)
- static (สถานะ)
สรรหา Local และ Global
ฟังก์ชันนอกภายในตัวแปรที่ประกาศมีสรรหา Global สามารถเข้าถึงได้นอกฟังก์ชันเท่านั้น
ฟังก์ชันภายในตัวแปรที่ประกาศมีสรรหา LOCAL สามารถเข้าถึงได้ภายในฟังก์ชันเท่านั้น
ตัวอย่างดังกล่าวทดสอบตัวแปรที่มีสรรหาย่างท้องที่และทั่วไป:
ตัวอย่าง
<?php $x=5; // สรรหาย่างทั่วไป function myTest() { $y=10; // สรรหาย่างท้องที่ echo "<p>ทดสอบตัวแปรภายในฟังก์ชัน:</p>"; echo "ตัวแปร x คือ: $x"; echo "<br>"; echo "ตัวแปร y คือ: $y"; } myTest(); echo "<p>ทดสอบตัวแปรนอกฟังก์ชัน:</p>"; echo "ตัวแปร x คือ: $x"; echo "<br>"; echo "ตัวแปร y คือ: $y"; ?>
ในตัวอย่างดังกล่าว มีตัวแปร $x และ $y และฟังก์ชัน myTest() ตัวแปร $x เป็นตัวแปรทั่วไป เพราะมันถูกประกาศนอกฟังก์ชัน และตัวแปร $y เป็นตัวแปรท้องที่ เพราะมันถูกประกาศในภายในฟังก์ชัน
ถ้าเราออกสัญญาณค่าสองตัวแปรภายในฟังก์ชัน myTest() ตัวแปร $y จะออกสัญญาณค่าที่ประกาศในท้องที่ แต่ไม่สามารถออกสัญญาณค่า $x ได้ เพราะมันถูกสร้างนอกฟังก์ชัน
หลังจากนั้น ถ้าหากออกสัญญาณค่าสองตัวแปรนอกฟังก์ชัน myTest() แล้ว จะออกสัญญาณค่า $x แต่จะไม่ออกสัญญาณค่า $y เพราะมันเป็นตัวแปรท้องที่ และถูกสร้างด้วยฟังก์ชัน myTest()
หมายเหตุ:คุณสามารถสร้างตัวแปรท้องถิ่นที่มีชื่อเดียวกันในฟังก์ชันต่างๆได้ เพราะตัวแปรท้องถิ่นสามารถถูกจับตามองโดยฟังก์ชันที่สร้างมันเท่านั้น
คำถาม global ของ PHP
คำถาม global ใช้เพื่อเข้าถึงตัวแปรทั่วไปภายในฟังก์ชัน
เพื่อทำให้มันเป็นไปได้ ให้ใช้คำถาม global ก่อนตัวแปร (ภายในฟังก์ชัน)
ตัวอย่าง
<?php $x=5; $y=10; function myTest() { global $x,$y; $y=$x+$y; } myTest(); echo $y; // ออก 15 ?>
PHP ออกโอกาสให้มีการเก็บตัวแปรทั้งหมดในตัวแปรแบบแนวตั้งที่มีชื่อ $GLOBALS[index] ซึ่งมีตัวแปรชื่อที่เก็บไว้ในตำแหน่งดังกล่าว ตัวแปรนี้สามารถเข้าถึงได้ด้วยภายในฟังก์ชันและสามารถใช้เพื่อปรับปรุงตัวแปรทั่วไป
ตัวอย่างดังกล่าวสามารถเขียนอีกฉบับหนึ่งได้เช่นนี้
ตัวอย่าง
<?php $x=5; $y=10; function myTest() { $GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y']; } myTest(); echo $y; // ออก 15 ?>
คำถาม static ของ PHP
โดยทั่วไป หลังจากที่ฟังก์ชันเสร็จงาน/ทำงานเสร็จ ทุกตัวแปรจะถูกลบเพื่อเสร็จสิ้น แต่บางครั้งฉันต้องการที่จะไม่ลบตัวแปรท้องถิ่น
เพื่อทำให้มันเป็นไปได้ ให้ใช้คำถาม static ในตอนที่ประกาศตัวแปรครั้งแรก static คำถามทางกำหนดความหมาย:
ตัวอย่าง
<?php function myTest() { static $x=0; echo $x; $x++; } myTest(); myTest(); myTest(); ?>
จากนั้น ในทุกครั้งที่ฟังก์ชันถูกเรียกใช้ ข้อมูลที่เก็บไว้ในตัวแปรนี้จะเป็นข้อมูลที่ฟังก์ชันถูกเรียกใช้ครั้งที่แล้ว
หมายเหตุ:ตัวแปรนี้ยังคงเป็นตัวแปรท้องถิ่นของฟังก์ชัน
- หน้าก่อนหน้า บทบาท PHP
- หน้าต่อไป PHP Echo / Print