متغیرها در PHP 5

متغیر یک محفظه یا جایگاه برای ذخیره کردن اطلاعات است.

اعلان متغیر در پی اچ پی

طریقه ایجاد (اعلان) متغیرها در PHP

متغیرها در PHP با علامت دلار ($) شروع می شوند و بعد از آن اسم متغیر می آید. در مثال زیر چند نمونه اعلان متغیر آمده است:

بعد از اجرای دستورات فوق، متغیر txt$ مقدار Hello World! را به خود می گیرد، متغیر X$ مقدار 5 و متغیر y$ مقدار 10.5 را بخود می گیرد.

توجه: زمانی که مقدار متنی به متغیری تخصیص داده می شود، بایستی دو طرف رشته متن گیومه (“”) گذاشت.

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

متغیر را نوعی محفظه ذخیره اطلاعات در نظر بگیرید.

متغیرهای PHP

هر متغیری می تواند دارای نامی کوتاه (مثل x و y) و یا نام توصیفی و بلند (مثل age یا total_volume) باشد. متغیرها در PHP از قواعد زیر تبعیت می کنند:

  • نام متغیر با نماد $ شروع می شود و در پی آن نام متغیر می آید
  • نام متغیر بایستی با یکی از حروف الفبا یا زیر خط شروع شود
  • نام متغیر هرگز نمی تواند با عدد شروع شود
  • نام متغیر می تواند تنها حاوی حروف الفبا (اعداد و حروف) و زیر خط باشد (A-z, 0-9, و _)
  • اسامی متغیرها نسبت به حروف کوچک و بزرگ حساس است (age$ و AGE$ دو متغیر مستقل و جداگانه هستند)
بخاطر بسپارید که در PHP نام متغیرها به حروف کوچک و بزرگ حساس است.

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

معمولا دستور echo در PHP برای ارسال خروجی به صفحه نمایش استفاده می شود. مثال زیر طریقه استفاده از متغیرها و ارسال خروجی به صفحه نمایش را نشان می دهد:

متغیر خروجی در پی اچ پی

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

مثال متغیر خروجی

مثال زیر خروجی جمع دو متغیر را نشان می دهد:

متغیر خروجی در پی اچ پی

توجه: دستور echo با جزئیات بیشتر بحث خواهد شد و طریقه ارسال خروجی به صفحه نمایش در درس بعدی این راهنما بحث می شود.

در زبان PHP نوع داده مشخص نمی شود

همانطور که در مثال های بالا متوجه شدید، لازم نیست که نوع داده (data type) متغیر اعلان شده را به PHP بگوییم. PHP بطور خودکار متغیر را به نوع داده مناسب و صحیح برگردان می کند که بستگی به مقداری دارد که به متغیر تخصیص داده شده است.

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

حوزه فعالیت متغیرها در PHP

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

  • محلی
  • عمومی
  • ایستا

حوزه محلی و عمومی

متغیری که خارج از یک تابع اعلان شود دارای حوزه همگانی (GLOBAL SCOPE) است و تنها در خارج از تابع قابل دسترسی است. مثال:

متغیر گلوبال در پی اچ پی

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

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

کلمه کلیدی global (عمومی) در PHP

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

کلمه کلیدی گلوبال پی اچ پی

PHP تمامی متغیرهای global را در یک آرایه بنام [$GLOBALS [index ذخیره می کند. index نام متغیرها را نگه می دارد. این آرایه همچنین از درون توابع قابل دسترسی است و می توان از آن برای به روزرسانی مستقیم متغیرهای گلوبال استفاده کرد.

مثال بالا را می توان به شکل زیر نیز نوشت:

متغیر گلوبال با کلمه کلیدی گلوبال

کلمه کلیدی static در PHP

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

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

کلمه کلیدی استاتیک در پی اچ پی

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

توجه: اما هنوز متغیر محلی همان تابع است.

عضویت در خبرنامه پلکسا

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

قابل توجه وبمسترها

وبمستر گرامی

در صورتی که به دنبال جذب بازدید کننده یا ارتقای رنکینگ سایت خود هستید، پیشنهاد می کنیم پلکسا را یک پست یا مطلب مهمان کنید. همانطور که برای سایت خود مطلب می نویسید، مطلب خود را آماده و کد نویسی کرده و در پلکسا منتشر کنید. پلکسا هیچگونه دخل یا تصرفی در پست شما نخواهد داشت.

سئوالات، نظرات، پیشنهادات و مطالب خود را با ما و کاربران پلکسا در میان بگذارید - انجمن پلکسا