آموزش PHP : متغیر ها

0
آموزش PHP 7

متغیر ها دربرگیرنده ی اطلاعات هستند. در ادامه ی این بخش به اصول استفاده از متغیر ها در PHP خواهیم پرداخت.

ساختن / تعریف متغیر در PHP

در پی اچ پی نام متغیر ها را با علامت دلار ($) آغاز میکنیم و در ادامه نام متغیر را درج میکنیم. مثلا :

پس از اجرای کد بالا، متغیر $txt حاوی عبارت “سلام دنیا!”، متغیر $x حاوی عدد 5 و متغیر $y دارای مقدار 10.5 خواهد بود.

نکته : وقتی تصمیم داریم متنی را در متغیری قرار دهیم، از علامت کوتیشن در اطراف متن استفاده میکنیم. مانند مثال بالا.

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

ویژگی ها و قوانین متغیر ها در PHP

نام یک متغیر میتواند کوتاه (مثل x و y) یا بلند بوده و شرح محتوای متغیر را نیز شامل شود. (مثل age یا name یا total_value) به طور کلی در نامگذاری متغیر ها در پی اچ پی باید موارد زیر را رعایت کنید :

  • متغیر همواره با علامت $ آغاز شده و در ادامه نام آن درج میشود
  • نام متغیر باید با حروف یا کارکتر آندرلاین آغاز شود.
  • نام متغیر نمیتواند با عدد آغاز شود
  • نام متغیر فقط میتواند شامل حروف، اعداد و علامت آندرلاین باشد
  • نام متغیر به بزرگی و کوچکی حروف حساس است. مثلا متغیر $age با $AGE متفاوت خواهد بود.

ایجاد خروجی از متغیر ها

برای نمایش مقدار متغیر ها در خروجی به ساده ترین حالت معمولا از echo استفاده میکنیم. در مثال زیر میتوانید مشاهده کنید که چگونه یک متغیر را به همراه متن دلخواه در خروجی به نمایش گذاشته ایم :

نتیجه ی اجرای کد بالا، نمایش عبارت “به MrCode.ir خوش آمدید!” خواهد بود. کد زیر نیز دقیقا همان نتیجه را تولید میکند :

کد زیر مجموع دو متغیر را نمایش میدهد :

توجه : در بخش بعدی این سری در رابطه با دستور echo بیشتر صحبت خواهیم کرد.

نوع متغیر ها در PHP

اگر به مثال های بالا توجه کرده باشید، در هیچ یک از آنها ما نوع متغیر را برای php مشخص نکردیم. چرا که پی اچ پی خودش بر اساس مقداری که به یک متغیر اختصاص داده میشود، به صورت اتوماتیک نوع مناسبی را برای آن در نظر میگیرد. بنابراین از آنجایی که نوع متغیر ها به صورت استریکت (سخت گیرانه و با تعریف ثابت) از طرف ما مشخص نمیشوند، شما میتوانید به آسانی یک متغیر رشته ای را با یک متغیر عددی جمع ببندید بدون اینکه خطایی اتفاق بیفتد.

اما در PHP 7 امکان مشخص کردن نوع متغیر های ورودی توابع در اختیار ما قرار گرفته است. در این حالت میتوانید انواع مشخصی را برای متغیر ها در نظر بگیرید تا هرگاه شرایط مناسب برای نوع صحیح در متغیر مورد نظر فراهم نباشد، Fatal Error یا خطای مهلک اتفاق بیفتد. در این رابطه در فصل مربوطه به طور کامل صحبت خواهیم کرد.

بازه متغیر ها در PHP

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

  • local یا محلی
  • global یا سراسری
  • static یا ثابت

متغیر های لوکال و گلوبال (متغیر های محلی و سراسری)

متغیری که بیرون از یک تابع تعریف میشود، دارای بازه ی سراسری یا گلوبال بوده و فقط بیرون تابع در دسترس است.

متغیری که درون یک تابع تعریف میشود، بازه ی محلی داشته و فقط از درون تابع قابل استفاده است :

توابع میتوانند متغیر های محلی با نام یکسان داشته باشند. یعنی میتوانید از متغیر هایی با نام یکسان در توابع مختلف استفاده کنید. این مسئله بخاطر محلی بودن متغیر های تعریف شده درون توابع، خطایی ایجاد نخواهد کرد.

کلمه کلیدی global در پی اچ پی

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

پی اچ پی همه متغیر های گلوبال را در یک آرایه با نام $GLOBALS[index] نگهداری میکند. که در آن index نام متغیر است. این آرایه از داخل توابع نیز در دسترس بوده و میتواند برای آپدیت مستقیم متغیر های سراسری مورد استفاده قرار گیرد. بنابراین میتوان کد بالا را به شکل زیر بانویسی کرد :

کلمه کلیدی static در پی اچ پی

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

در این حالت هر بار که تابع را صدا میکنیم، متغیر هنوز اطلاعات قبلی خود را درون خود نگه داشته است. بنابراین نتیجه ی سه بار فراخوانی تابع، سه مقدار متفاوت خواهد بود.

توجه داشته باشید که این متغیر، هرچند به صورت static تعریف شده اما کماکان یک متغیر محلی و مختص تابعی است که آن را تعریف کرده است.

مطالعه قسمت بعدی : آشنایی با Echo و Print

دسترسی آسان به این مطلب لینک کوتاه :
شاید از اینها هم خوشتان بیاید!
ارسال پاسخ

آدرس ایمیل شما منتشر نخواهد شد.