متغیر ها، ظرفی برای ذخیره اطلاعات هستند.
خروجی کد بالا:
x=5, y=6, z=x+y
آیا به یاد می آورید که یک حرف (مانند x) می تواند برای نگهداری یک مقدار (مثل 5) به کار رود و شما می توانید طبق اطلاعات بالا مقدار z را برابر 11 ارزیابی کنید.
این حروف، متغیر نامیده می شوند و آنها را می توان برای نگهداری مقادیر (x=5) و یا عبارات (z=x+y) استفاده کرد.
x=5
y=6
z=x+y
![]() |
به متغیرها مانند ظرفی برای نگهدازی داده ها نگاه کنید. |
|---|
روشی صحیح برای تعریف یک متغییر در PHP:
$var_name = value;
توجه: اغلب برنامه نویسان تازه کار در PHP فراموش می کنند که در ابتدای نام متغییر علامت $ را درج کنند، در این صورت برنامه کار نخواهد کرد.
مثال1: در زیر یک متغییر با محتویات رشته و یک متغییر دیگر با محتویات عدد تعریف شده است:
<?php
$txt="Hello World!";
$x=16;
?>
![]() |
بیاد داشته باشید که متغیرها در PHP به حروف کوچک و بزرگ حساس هستند. |
|---|
در PHP دستوری برای ایجاد متغیرها وجود ندارد.
یک متغیر زمانی که مقداری را به آن اختصاص می دهید ایجاد می شود.
خروجی کد بالا:
بعد از اجرای مثال بالا، متغیر txd مقدار "!Hello world"، متغیر x مقدار "5" و متغیر y مقدار "10.5" را در خود نگهداری می کنند.
توجه: زمانی که می خواهید یک مقدار رشته ای را به یک متغیر اختصاص دهید از علامت ' استفاده نمایید.
در PHP یک متغییر نیازی به تعریف پیش از استفاده ندارد.
در مثال بالا، می بینید که مجبور نیستید به PHP بگویید که متغییر از چه نوع داده ای است، PHP به طور خودکار متغییر ها را به نوع داده ای مناسب شان تبدیل می کند که بستگی دارد چگونه مقدار دهی شده باشند.
در یک زبان برنامه نویسی قوی (مانند C یا Java) شما باید نوع و اسم متغییر را پیش از استفاده تعیین کنید. در PHP متغییر ها زمانی که شما از آنها استفاده می کنید به طور خود کار تعریف می شوند.
در PHP، متغیرها در هرجایی از کد می توانند اعلان شوند.
منظور از محدوده، بخشی از اسکریبت است که متغیر می تواند در آن محدوده استفاده شود.
سه محدوده مختلف برای متغیرها وجود دارد:
متغیرهایی که داخل یک تابع اعلان شده اند، تنها داخل همان تابع، قابل دسترسی اند. (متغیرهای با قلمرو محلی)
متغیرهای محلی به محض اینکه عملیات تابع تکمیل شد، حذف می شوند.
![]() |
شما می توانید در توابع مختلف، متغیرهای محلی با نام های یکسان داشته باشید. بخاطر اینکه متغیرهای محلی، تنها بوسیله تابعی که آنها را اعلان کرده است شناخته می شوند. |
|---|
در بیاموزهای بعدی، درباره توابع بیشتر خواهید آموخت.
متغیرهایی که خارج از توابع اعلان شده اند، عمومی می شوند، و در تمام اسکریبت بجز توابع، به آنها دسترسی خواهد بود.
زمانی که یک صفحه وب را ببندید، متغیرهای عمومی حذف خواهند شد.
در مثال زیر، می توانید محدوده متغیرهای محلی و عمومی را مشاهده نمایید:
خروجی کد بالا:
در مثال بالا، دو متغیر x$ و y$ و یک تابع ()myTest وجود دارد. متغیر x$، بخاطر اینکه خارج از تابع اعلان شده، عمومی است و متغیر y$، بخاطر اینکه داخل تابع اعلان شده، محلی است.
زمانی که داخل تابع ()myTest، مقادیر متغیرها را چاپ می کنیم، مقدار متغیر y$ بخاطر اینکه محلی است چاپ می شود، اما مقدار متغیر x$، چونکه خارج از تابع اعلان شده است نمی تواند چاپ شود.
سپس، زمانی که مقادیر متغیرها را خارج از تابع ()myTest چاپ می کنیم، مقدار متغیر x$ چاپ می شود، اما مقدار متغیر y$، چونکه داخل تابع ()mytest اعلان شده است نمی تواند چاپ شود.
با استفاده از کلمه کلیدی global، می توانید به متغیرهای عمومی در داخل یک تابع دسترسی داشته باشید.
برای انجام این کار، از کلمه کلیدی global، قبل از نام متغیر استفاده نمایید:
خروجی کد بالا:
در PHP، با استفاده از آرایه GLOBALS$ نیز می توانید به متغیرهای عمومی دسترسی داشته باشید. در واقع تمام متغیرهای عمومی در این آرایه ذخیره می شوند و با استفاده از نام متغیر بعنوان ایندکس آرایه می توانید به متغیرها، دسترسی داشته باشید.
بازنویسی مثال بالا، با استفاده از آرایه GLOBALS$:
خروجی کد بالا:
بطور معمول زمانی که اجرای یک تابع به پایان می رسد، تمام متغیرهای آن نیز حذف خواهند شد. اما بعضی مواقع نیاز می شود که یک متغیر محلی برای استفاده های بعدی حذف نشود.
برای انجام این کار، از کلمه کلیدی static در ابتدای اعلان متغیر، استفاده نمایید:
خروجی کد بالا:
هر زمان که تابع صدا زده می شود، آخرین مقدار متغیر static، حفظ می شود.