برنامه نویسیPHP

 متغییر ها وانواع آن در برنامه نویسی php

متغییر ها مانند ظرفی برای نگهداری داده ها هستند.متغییر ها برای ذخیره مقادیری مانند رشته های متنی،اعداد و. یا آرایه ها استفاده می شوند.زمانی که یک متغییر را تعریف می کنید آن متغییر را می توانید بار ها و بار ها استفاده کنید.در php  نیازی نیست نوع متغییر را مشخص کنید و بر خلاف زبان c می توان آن را بدون تعریف قبلی استفاده کرد. هر متغییر در php  با علامت $ در ابتدای آن مشخص می شود.

مانند کد زیر که در دو متغییر مختلف دو نوع مقدار را گذاشته ایم.در اولین متغییر یک مقدار متنی گذاشته ایم و در دومین متغییر یک مقدار عددی قرار دارد.

php

قوانین نامگذاری متغییر ها
  • نام یک متغییر می تواند شامل اعداد و حروف بزرگ یا کوچک و یا اندرلاین(_) باشد.
  • نام یک متغییر باید با یک حروف یا یک اندرلاین(_) شروع شود و نمی تواند با یک عدد شروع شود.
  • نام متغییر  به حروف بزرگ و کوچک حساس است.مثلا متغییر $a با $A تفاوت دارد.
  • نام متغییر باید پیوسته باشد یعنی نباید بین حروف . یا فاصله باشد

چند نمونه برای نام های مجاز برای متغییر ها:

$num1,$myChar,$my_name$_name,$_1name

و چند نمونه از نام های غیر مجاز برای متغییر ها :

$۱name,$789,$#name,$my name,$my.name

متغییر های محلی(local)

متغییر هایی که داخل یک تابع اعلان شده باشند تنها داخل همان تابع، قابل دسترسی اند.(متغییر های با قلمرو محلی).متغییر های محلی بعد از اینکه عملیات تابع تکمیل شود حذف می شود.

نکته:شما می توانید در توابع مختلف، متغییر های محلی با نام های یکسان داشته باشید.به خاطر متغییر ها پس از اتمام عملیات تابع حذف می شوند.متغییر های محلی فقط به وسیله تابعی که اعلان شده است شناخته می شود.در مطالب آینده سایت مجله آی تی بیشتر درباره توابع بیشتر توضیح خواهیم داد.

متغییر های عمومی

متغییر های خارج از توابع اعلان می شوند متغییر های عمومی نام دارند.در تمامی اسکریپت به جز توابع به آن ها دسترسی خواهید داشت و می توانید از آن ها استفاده کنید.این متغییر ها زمانی حذف می شوند یک صفحه وب به طور کامل بسته شود.در تکه کد زیر مثالی از متغییر های عمومی و همچنین متغییر های محلی آورده ایم:

php

در مثال بالا متغییر $z به صورت عمومی تعریف شده است و متغییر $u به صورت محلی در تابع test  تعریف شده است.حالا می آیم و متغییر ها را به صورت کد زیر چاپ می کنیم.:

php

در زیر خروجی به این صورت در مرورگر نمایش داده می شود.:

php

همانطور که می بینید  متغییر $z که به صورت عمومی اعلان شده.است نمایش داده شده ولی متغییر $u نمایش داده نشده.در تابع test  هم وقتی می خواهیم متغییر $z  را که یک متغییر عمومی هست را در مرورگر چاپ کنیم در کامپایل یک notice می دهد که متغییر یافت نشد.(درباره خطاهای کامپایل برنامه های php در مطالب آینده توضیح خواهیم داد.)

کلمه کلیدی global

برای اینکه در توابع به متغییر عمومی دسترسی داشته باشید و بتوانید از آن استفاده کنید می توانید از کلمه کلیدی global استفاده کنید. برای انجام این کار کلمه کلیدی global  را قبل از متغییر ها استفاده کنید تا تابع آن متغییر ها را بشناسد.برای مثال در تکه کد زیر داریم :

php

اگر کد بالا را در سرور اجرا کنید در مرورگر خروجی ۷ چاپ می شود و خطا نمی دهد.در برنامه نویسی php  می توانید با استفاده از آرایه $GLOBALS می توانید

متغییر های عمومی را در توابع استفاده کنید.این آرایه همان کار بالا را انجام می دهد و می توانید به جای کلمه کلیدی global از این آرایه استفاده کنید.

نکته: دقت کنید که در متغییر  بزرگی و کوچکی حروف مهم هستند. و اگر این آرایه با حروف کوچک نوشته شود درست نیست و در خروجی خطا می دهد.

برای مثال همان کد بالا را بازنویسی می کنیم:

php

اگر کد بالا را در سرور اجرا کنید در مرورگر خروجی ۷ چاپ می شود و خطا نمی دهد.

کلمه کلیدی static

معمولا زمانی که یک تابع پایان می رسد تمام متغییر هایی که درون آن تابع تعریف شده اند حذف می شوند.اما بعضی از مواقع به آن متغییر های محلی برای استفاده های بعدی که در بیرون از تابع هستند نیاز داریم.برای انحام این کار می توانیم از کلمه کلیدی static در ابتدای فراخوانی متغییر ها در تابع استفاده کنیم.

برای مثال تکه کد زیر را داریم :

php

اگر کد بالا را در سرور اجرا کنید در مرورگر ۳ عدد در خروجی به صورت زیر می دهد :

php

حالا اگر متغییرa   را به صورت static تعریف نکنیم هر سه عدد در خروجی صفر هستند به صورت زیر:

php

یعنی هر بار که می خواهد تابع اجرا شود متغییر صفر می شود و چاپ می شود.

نکته:توجه کنید که در مثال بالا متغییر محلی $a فقط در داخل تابع به آن دسترسی وجود دارد. و در خاج از توابع نمی توان از آن استفاده نمود.

 

 

Click to rate this post!
[Total: ۰ Average: ۰]
نمایش بیشتر

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا