متغییرهای Local و Global در PHP
|متغیرهای Local یا متغیرهایی محلی، جزو دسته ای از متغیرها در PHP هستند که باید در داخل تابع تعریف میشوند، در غیر این صورت در هیچ داده ای نمایش داده نمیشود و متغیرهای Global یا متغیرهای جهانی، متغیرهایی هستند که با تعریف آنها در خارج از تابع میتوانیم به آنها سترسی داشته باشیم.
در بارهی تابع یا Function در ادامه بیشتر توضیح میدهیم، برای آشنایی میتوانیم به این موضوع اشاره کنیم که تابع دارای یک سری ورودی و خرجی است. در PHP همانند نرمافزارهای دیگر از تابع برای جلوگیری از روند تکرار توابع مثلا ضرب، جمع یا … یک بار آن ها را در Function نوشته و هر بار که نیاز شد آن را صدا میکنیم
یک مثال را بررسی میکنیم، به متغیرهای Local و Global دقت کنید
<!DOCTYPE html> <html> <body> <?php $x=5; // global scope function myTest() { $y=10; // local scope echo "<p>Test variables inside the function:<p>"; echo "Variable x is: $x"; echo "<br>"; echo "Variable y is: $y"; } myTest(); echo "<p>Test variables outside the function:<p>"; echo "Variable x is: $x"; echo "<br>"; echo "Variable y is: $y"; ?> </body> </html>
خروجی دستور بالا به صورت زیر نمایش داده میشود
Test variables inside the function:
Variable x is:
Variable y is: 10
Test variables outside the function:
Variable x is: 5
Variable y is:
در مثال بالا x متغیر Global و y متغیر Local میباشد، یک بار متغیر محلی را برای چاپ صدا زده است و بار دیگر متغیر جهانی را برای چاپ صدا زده است. به همین دلیل در مورد اول در مقابل variable x is خالی است و در مورد دوم در مقابل Variable y is هیچ داده ای نمایش داده نشده است.
در PHP میتوانیم برای ذخیره متغیرهای جهانی از آرایههای [ Global[index$ استفاده کنیم
ویژگی این متغیرها در PHP را با یک مثال مشاهده کنیم
Global" lang="php" decode="true" title="[ ]Global"]<!DOCTYPE html> <html> <body> <?php $x=5; $y=10; function myTest() { $GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y']; } myTest(); echo $y; ?> </body> </html>
خروجی دستور بالا عدد ۱۵ است و تنها مدل نوشتن دستورها تغییر کرده ولی خروجی دستور تغییری نمیکند.
منبع : mobtadi.com