آموزش رایگان php
جلسه چهارم

متغیرها در PHP 5

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

بعد از اجرای کد بالا ، متغیر $txt متن “Hello World!” را در خود ذخیره کرده ، به همین صورت متغیرهای $x […]

متغیرها ، محلی برای ذخیره ی داده ها هستند.

ایجاد (تعریف) متغیرها در PHP :

در PHP متغیرها با علامت $ شروع می شوند و پس از آن نام متغیر می آید:

بعد از اجرای کد بالا ، متغیر $txt متن “Hello World!” را در خود ذخیره کرده ، به همین صورت متغیرهای $x و $y به ترتیب اعداد ۵ و ۱۰٫۵ را در خود ذخیره می کنند.

نکته (۱) : هنگامی که می خواهید متنی را درون متغیری ذخیره کنید ، حتما آن را درون ” ” یا ‘ ‘ قرار دهید.

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

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

متغیرها در PHP :

نام متغیرها می توانند به صورت کوتاه باشند (مانند $x و $y) یا نامی با مفهوم تر داشته باشند (مانند $username و $password). پیشنهاد ما این است که تا جای ممکن از نام های با مفهوم در کدهای خود استفاده کنید تا کد بهتری داشته باشید.

در PHP برای نامگذاری متغیرها قوانینی وجود دارند که رعایت آن ها الزامی است:

به یاد داشته باشید که نام متغیرها به بزرگ و کوچک بودن حروف حساس است.

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

دستور echo در PHP اغلب برای نمایش مقدار متغیرها در مرورگر کابر استفاده می شود.

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

مثال بعدی همان خروجی مثال فوق را تولید می کند:

یا مثال زیر حاصل جمع دو عدد را در مروگر نمایش می دهد:

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

PHP یک زبان برنامه نویسی Loosely Typed :

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

خبر خوب اینکه در PHP ، موتور PHP به صورت خودکار از نوع داده ای که در یک متغیر ذخیره شده ، تشخیص می دهد که نوع متغیر چیست و نیازی به مشخص کردن نوع متغیر توسط برنامه نویس نیست.

میدان دید متغیر ها در PHP :

در PHP ، متغیرها می توانند در هر قسمتی از کد تعریف شوند.

میدان دید (scope) متغیرها ، قسمتی از اسکریپت است که متغیرها در آن قسمت از کد قابل استفاده هستند.

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

در ادامه به معرفی این سه نوع میدان دید می پردازیم:

میدان دید محلی و سراسری:

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

متغیرهایی که درون توابع تعریف می شوند دارای میدان دید محلی هستند و تنها درون همان تابع در دسترس هستند.

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

استفاده از کلیدواژه ی “global” در PHP :

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

با استفاده از کلیدواژه ی global قبل از نام متغیر درون توابع می توانیم این مشکل را حل کنیم. به مثال زیر دقت کنید:

PHP همچنین تمامی متغیرهای با میدان دید سراسری را درون آرایه ای با نام $GLOBALS[index] ذخیره می کند. که index نام متغیر مورد نظر می باشد. این آرایه هم در داخل و هم در خارج از توابع در دسترس است و می توان از این آرایه برای دستکاری متغیرها با میدان دید سراسری استفاده کرد. مثال قبلی را می توان به صورت زیر هم نوشت:

میدان دید ایستا:

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

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

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