ตัวแปร PHP

ตัวแปรเป็นที่เก็บข้อมูล

ตัวอย่าง

<?php
$x=5;
$y=6;
$z=$x+$y;
echo $z;
?>

ตัวอย่างการทำงาน

เหมือนทฤษฎีเรขาคณิต

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();
?>

ตัวอย่างการทำงาน

จากนั้น ในทุกครั้งที่ฟังก์ชันถูกเรียกใช้ ข้อมูลที่เก็บไว้ในตัวแปรนี้จะเป็นข้อมูลที่ฟังก์ชันถูกเรียกใช้ครั้งที่แล้ว

หมายเหตุ:ตัวแปรนี้ยังคงเป็นตัวแปรท้องถิ่นของฟังก์ชัน