سلام و عرض ادب در این بخش میخواهیم طریقهی استفاده از متغیرها در PHP را آموزش دهیم. اگر تا امروز از نرمافزار برنامهنویسی دیگری استفاده کرده باشید با نام متغیرها آشنایی دارید. در برنامهنویسی با استفاده از متغیرها یک سری داده تعریف میشود و ما میتوانیم برای این داده ها اسم گذاری کنیم و در ادامه نوشتن برنامه هر جا که نیاز شد آن را صدا بزنیم و از تکرار کردن آن در طول برنامه بپرهیزیم.
در پی اچ پی متغیرها را با علامت $ یا دلار نمایش میدهند.
دو قانون کلی برای متغیرها در PHP
- نام متغیرها تنها میتوانند حروف انگلیسی (a-z یا A-Z)، اعداد ۰-۹ و زیر خط (آندلاین) _ را شامل شود.
- نام متغیر هیچ گاه نمیتواند با عدد شروع شود.
به مثال زیر دقت کنید
<!DOCTYPE html> <html> <body> <?php $x=5; $y=6; $z=$x+$y; echo $z; ?> </body> </html>[/code]
همان طور که در مثال بالا مشاهده میکنید سه متغیر y، x و z تعریف شدهاند. هر یک از این متغیرها در PHP یک داده را معرفی میکند. x عدد ۵، y عدد ۶ و z حاصل جمع این دو عدد را بیان میکند و در نهایت اطلاعاتی که ما میخواهیم به چاپ رسانیم متغیر z است.
اگر دقت کنید متوجه میشوید که متغیر z بین علامتهای ” ” قرار نگرفته است، تنها دلیل این است که z یک متغیر رشتهای و یا در حقیقت متن نیست و جنس عدد است.
خروجی دستور بالا به صورت زیر تنها یک عدد که حاصل جمع ۵ و ۶ است نمایش داده میشود و برابر است با:
۱۱
حال یک مثال دیگر را بررسی میکنیم.
<!DOCTYPE html> <html> <body> <?php $txt="Hello world!"; $x=5; $y=10.5; echo $txt; echo "<br>"; echo $x; echo "<br>"; echo $y; ?> </body> </html>
Hello world!خروجی دستور بالا به صورت زیر است:
۵
۱۰٫۵
دستور اول چاپ متغیر txt را خواستار شده است و در ادامه متغیر x وy را نمایش میدهد.
متغییرهای 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 را با یک مثال مشاهده کنیم
lobal"]<!DOCTYPE html> <html> <body> <?php $x=5; $y=10; function myTest() { $GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y']; } myTest(); echo $y; ?> </body> </html>
|
خروجی دستور بالا عدد ۱۵ است و تنها مدل نوشتن دستورها تغییر کرده ولی خروجی دستور تغییری نمیکند.
متغیر static درphp
هر گاه به متغیرها در PHP بخواهیم یک مقدار اولیه بدهیم و تنها یک بار این متغیر اولیه اجرا شود و در ادامه که آن را صدا میزنیم مقدار آخری که از تابع بدست آمده را جایگزین مقدار اولیه و بعد دستور را اجرا کند از متغیر static استفاده میکنیم.
در روش استفاده از Static خواسته شده که متغیر Global حذف شود.
به مثال زیر دقت کنید.
<!DOCTYPE html> <html> <body> <?php function myTest() { static $x=0; echo $x; $x++; } myTest(); echo "<br>"; myTest(); echo "<br>"; myTest(); echo "<br>"; myTest(); echo "<br>"; myTest(); ?> </body> </html>
در این مثال به متغیر استاتیک x مقدار اولیه ۰ را داده ایم و خواستیم که x را چاپ کند. در ادامه متغیر ++x را نمایش دهد. متغیر ++x بیان کننده این است که متغیر x را در هر بار چاپ با عدد ۱ جمع کن.
بعد از بستن تابع خواسته شده که ۵ بار متغیر x در خط های جداگانه، زیر هم چاپ شوند. در نهایت خروجی به صورت زیر است:
۰
۱
۲
۳
۴