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


متغییر ها مانند ظرفی برای نگهداری داده ها هستند.متغییر ها برای ذخیره مقادیری مانند رشته های متنی،اعداد و. یا آرایه ها استفاده می شوند.زمانی که یک متغییر را تعریف می کنید آن متغییر را می توانید بار ها و بار ها استفاده کنید.در php نیازی نیست نوع متغییر را مشخص کنید و بر خلاف زبان c می توان آن را بدون تعریف قبلی استفاده کرد. هر متغییر در php با علامت $ در ابتدای آن مشخص می شود.
مانند کد زیر که در دو متغییر مختلف دو نوع مقدار را گذاشته ایم.در اولین متغییر یک مقدار متنی گذاشته ایم و در دومین متغییر یک مقدار عددی قرار دارد.
قوانین نامگذاری متغییر ها
فهرست موضوعات مطالب
- نام یک متغییر می تواند شامل اعداد و حروف بزرگ یا کوچک و یا اندرلاین(_) باشد.
- نام یک متغییر باید با یک حروف یا یک اندرلاین(_) شروع شود و نمی تواند با یک عدد شروع شود.
- نام متغییر به حروف بزرگ و کوچک حساس است.مثلا متغییر $a با $A تفاوت دارد.
- نام متغییر باید پیوسته باشد یعنی نباید بین حروف . یا فاصله باشد
چند نمونه برای نام های مجاز برای متغییر ها:
$num1,$myChar,$my_name$_name,$_1name
و چند نمونه از نام های غیر مجاز برای متغییر ها :
$۱name,$789,$#name,$my name,$my.name
متغییر های محلی(local)
متغییر هایی که داخل یک تابع اعلان شده باشند تنها داخل همان تابع، قابل دسترسی اند.(متغییر های با قلمرو محلی).متغییر های محلی بعد از اینکه عملیات تابع تکمیل شود حذف می شود.
نکته:شما می توانید در توابع مختلف، متغییر های محلی با نام های یکسان داشته باشید.به خاطر متغییر ها پس از اتمام عملیات تابع حذف می شوند.متغییر های محلی فقط به وسیله تابعی که اعلان شده است شناخته می شود.در مطالب آینده سایت مجله آی تی بیشتر درباره توابع بیشتر توضیح خواهیم داد.
متغییر های عمومی
متغییر های خارج از توابع اعلان می شوند متغییر های عمومی نام دارند.در تمامی اسکریپت به جز توابع به آن ها دسترسی خواهید داشت و می توانید از آن ها استفاده کنید.این متغییر ها زمانی حذف می شوند یک صفحه وب به طور کامل بسته شود.در تکه کد زیر مثالی از متغییر های عمومی و همچنین متغییر های محلی آورده ایم:
در مثال بالا متغییر $z به صورت عمومی تعریف شده است و متغییر $u به صورت محلی در تابع test تعریف شده است.حالا می آیم و متغییر ها را به صورت کد زیر چاپ می کنیم.:
در زیر خروجی به این صورت در مرورگر نمایش داده می شود.:
همانطور که می بینید متغییر $z که به صورت عمومی اعلان شده.است نمایش داده شده ولی متغییر $u نمایش داده نشده.در تابع test هم وقتی می خواهیم متغییر $z را که یک متغییر عمومی هست را در مرورگر چاپ کنیم در کامپایل یک notice می دهد که متغییر یافت نشد.(درباره خطاهای کامپایل برنامه های php در مطالب آینده توضیح خواهیم داد.)
کلمه کلیدی global
برای اینکه در توابع به متغییر عمومی دسترسی داشته باشید و بتوانید از آن استفاده کنید می توانید از کلمه کلیدی global استفاده کنید. برای انجام این کار کلمه کلیدی global را قبل از متغییر ها استفاده کنید تا تابع آن متغییر ها را بشناسد.برای مثال در تکه کد زیر داریم :
اگر کد بالا را در سرور اجرا کنید در مرورگر خروجی ۷ چاپ می شود و خطا نمی دهد.در برنامه نویسی php می توانید با استفاده از آرایه $GLOBALS می توانید
متغییر های عمومی را در توابع استفاده کنید.این آرایه همان کار بالا را انجام می دهد و می توانید به جای کلمه کلیدی global از این آرایه استفاده کنید.
نکته: دقت کنید که در متغییر بزرگی و کوچکی حروف مهم هستند. و اگر این آرایه با حروف کوچک نوشته شود درست نیست و در خروجی خطا می دهد.
برای مثال همان کد بالا را بازنویسی می کنیم:
اگر کد بالا را در سرور اجرا کنید در مرورگر خروجی ۷ چاپ می شود و خطا نمی دهد.
کلمه کلیدی static
معمولا زمانی که یک تابع پایان می رسد تمام متغییر هایی که درون آن تابع تعریف شده اند حذف می شوند.اما بعضی از مواقع به آن متغییر های محلی برای استفاده های بعدی که در بیرون از تابع هستند نیاز داریم.برای انحام این کار می توانیم از کلمه کلیدی static در ابتدای فراخوانی متغییر ها در تابع استفاده کنیم.
برای مثال تکه کد زیر را داریم :
اگر کد بالا را در سرور اجرا کنید در مرورگر ۳ عدد در خروجی به صورت زیر می دهد :
حالا اگر متغییرa را به صورت static تعریف نکنیم هر سه عدد در خروجی صفر هستند به صورت زیر:
یعنی هر بار که می خواهد تابع اجرا شود متغییر صفر می شود و چاپ می شود.
نکته:توجه کنید که در مثال بالا متغییر محلی $a فقط در داخل تابع به آن دسترسی وجود دارد. و در خاج از توابع نمی توان از آن استفاده نمود.