متغیرها در 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$ دو متغیر مستقل و جداگانه هستند)
متغیرهای خروجی
معمولا دستور 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 را قبل از نام متغیر در اولین اعلان آن بگذاریم. برای مثال:

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