Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> PHP

ขอบเขตตัวแปร PHP


แนะนำตัว

ในการเขียนโปรแกรม ขอบเขตหมายถึงขอบเขตที่ตัวแปรสามารถเข้าถึงได้ โดยทั่วไปแล้ว สคริปต์ PHP อย่างง่าย (ไม่มีโครงสร้างใดๆ เช่น ลูป ฟังก์ชัน ฯลฯ) มีขอบเขตเดียว ในแง่ที่ว่า ตัวแปรสามารถใช้ได้ทั่วทั้งโปรแกรมตั้งแต่จุดคำจำกัดความเป็นต้นไป

ตัวแปรในสคริปต์หลักยังมีให้สำหรับสคริปต์อื่น ๆ ที่รวมเข้ากับคำสั่งรวมหรือข้อกำหนด ในตัวอย่างต่อไปนี้ สคริปต์ test.php จะรวมอยู่ในสคริปต์หลัก

นี่คือสคริปต์หลัก

$var=100;include "test.php";?>

ไฟล์ test.script ที่รวมอยู่มีดังนี้ -

echo "ค่าของ \$var ใน testscript.php :" $var;?>

เมื่อรันสคริปต์หลัก ผลลัพธ์ต่อไปนี้จะแสดงขึ้น

ค่าของ $var ใน testscript.php :100

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

ตัวอย่าง

<ก่อน>

ผลลัพธ์

สิ่งนี้จะทำให้เกิดผลลัพธ์ดังต่อไปนี้ -

var=var1=Hellovar=100 var1=PHP Notice:ตัวแปรที่ไม่ได้กำหนด:var ในบรรทัดที่ 5PHP Notice:ตัวแปรที่ไม่ได้กำหนด:var1 ในบรรทัดที่ 8

โปรดทราบว่าตัวแปรส่วนกลางไม่พร้อมใช้งานโดยอัตโนมัติภายในขอบเขตของฟังก์ชันในเครื่อง นอกจากนี้ ฟังก์ชันตัวแปรภายในไม่สามารถเข้าถึงได้จากภายนอก

คำหลักทั่วโลก

การเข้าถึงตัวแปรส่วนกลางภายในขอบเขตท้องถิ่นควรเปิดใช้งานอย่างชัดเจนโดยใช้คำสำคัญสากล สคริปต์ PHP มีดังต่อไปนี้ -

ตัวอย่าง

ผลลัพธ์

สิ่งนี้จะทำให้เกิดผลลัพธ์ดังต่อไปนี้ -

ก่อนเรียกใช้ฟังก์ชัน a =10 b =20inside function a =10 b =20 c =15PHP หมายเหตุ:ตัวแปรที่ไม่ได้กำหนด:c ในบรรทัดที่ 13 หลังฟังก์ชัน a =20 b =20 c =

ขณะนี้สามารถประมวลผลตัวแปรส่วนกลางภายในฟังก์ชันได้ นอกจากนี้ การเปลี่ยนแปลงที่ทำกับตัวแปรส่วนกลางภายในฟังก์ชันจะมีผลในเนมสเปซส่วนกลาง

อาร์เรย์ $GLOBALS

PHP เก็บตัวแปรทั่วโลกทั้งหมดในอาเรย์ที่เชื่อมโยงที่เรียกว่า $GLOBALS ชื่อและค่าของตัวแปรสร้างคู่คีย์-ค่า

ในสคริปต์ PHP ต่อไปนี้ $GLOBALS array ถูกใช้เพื่อเข้าถึงตัวแปรทั่วโลก -

ตัวอย่าง

ผลลัพธ์

ก่อนการเรียกใช้ฟังก์ชัน a =10 b =20c =15PHP Notice:ตัวแปรที่ไม่ได้กำหนด:c บรรทัดที่ 12Notice:ตัวแปรที่ไม่ได้กำหนด:c ในฟังก์ชันบรรทัดที่ 12after a =20 b =20 c =

ตัวแปรคงที่

ตัวแปรที่กำหนดด้วยคีย์เวิร์ดแบบคงที่ไม่ได้เริ่มต้นทุกครั้งที่เรียกใช้ฟังก์ชัน นอกจากนี้ยังคงคุณค่าของการโทรครั้งก่อน

ตัวอย่าง

ผลลัพธ์

ซึ่งจะได้ผลลัพธ์ดังต่อไปนี้

การเรียกใช้ฟังก์ชัน :1 :x =0การเรียกใช้ฟังก์ชัน :2 :x =1การเรียกใช้ฟังก์ชัน :3 :x =2