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

php7 Variables

0 364

variables یا متغیرها در php

متغیرها نگهدارنده های اطلاعات هستند. نام متغیرها در php با علامت دلار ($) شروع می شود و سپس نام آن ذکر می شود:

مشاهده ی خروجی

پس از اجرای دستورات بالا تمامی متغیرها مقدار سمت راست مساوی را نگه می دارند؛ مثلا txt$ مقدار !Hello world را نگه می دارد و …

یکی از نکته هایی که باید به یاد داشته باشید این است که اگر بخواهید مقادیر متنی را به متغیری بدهید باید آن را درون علامت quotation (تلفظ می شود کُ تِی شِن) قرار دهید:

علائم نگارشی برنامه نویسی
علائم نگارشی برنامه نویسی

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

برای اینکه بهتر بتوانید متغیرها را درک کنید، آن ها را ظرف هایی در نظر بگیرید که مقادیری را داخل آن ها می گذاریم. قوانین نام گذاری این متغیر ها محدود هستند، بنابراین می توانید در نام گذاری خلاقیت به خرج دهید. قوانین نام گذاری متغیر ها این است که:

  • نام متغیر باید با علامت $ شروع شده و سپس نام آن ذکر شود (مثلا userID$).
  • اولین حرف بعد از علامت $ باید یک حرف انگلیسی و یا underscore (علامت آندرلاین _) باشد.
  • بر اساس مورد قبلی می توان گفت نام متغیر نمی تواند با عدد شروع شود (مثال غلط: 4userID$).
  • نام متغیرها تنها می تواند شامل اعداد، حروف انگلیسی و علامت آندرلاین (_) باشد.
  • متغیرها به بزرگی و کوچکی حروف انگلیسی حساس هستند بنابراین userID$ و UserID$ و uSerID$ و userId$ و … همگی متغیرهای جداگانه و متخلفی هستند.

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

خروجی گرفتن از متغیرها

از تابع echo در زبان php معمولا برای نمایش داده ها به صورت مستقیم روی صفحه نمایش استفاده می شود. سه مثال ساده از این تابع را با هم کار می کنیم: اولین مثال نمایش یک رشته ی متنی ساده است:

خروجی این کد عبارت “!I love roxo.ir” خواهد بود.

مثال دوم نمایش یک متن از طریق متغیرها است:

خروجی این کد عبارت “!I love roxo.ir” خواهد بود. نقطه هایی که قبل و بعد از متغیر گذاشته شده است، متغیر را به آنچه قبل و بعدش قرار دارد متصل می کند. ما هنوز به توضیحات آن نرسیده ایم بنابراین اگر متوجه نمی شوید جای نگرانی نیست.

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

خروجی این کد عدد 9 خواهد بود.

البته این ها تنها مثال هایی برای آشنایی شما با متغیر ها بود. در قسمت بعد با دستور echo بیشتر آشنا می شویم.

PHP در دسته ی زبان های Loosely Typed قرار می گیرد

اگر دقت کرده باشید در مثال های بالا هیچ گاه نگفتیم که متغیر ما از چه جنسی است (عدد است، متن است، بولین است و …). این مسئله بدین خاطر است که زبان php بر اساس مقدار متغیر، به صورت خودکار یک «نوع داده» یا data type را به متغیر منتسب می کند. به همین دلیل می توانیم یک عدد را با یک رشته جمع بزنیم بدون اینکه به خطایی برخورد کنیم!

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

مفهوم Scope در متغیر ها

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

  • local
  • global
  • static

1. اگر متغیر شما خارج از توابع تعریف شود، دارای global scope می شود:

مشاهده ی خروجی

همانطور که در خروجی می بینید زمانی که متغیر ما دارای scope سراسری (Global) است نمی توانیم از آن داخل توابع استفاده کنیم.

2. اگر متغیر شما درون یک تابع تعریف شده باشد دارای local scope یا scope محلی خواهد بود:

مشاهده ی خروجی

در چنین حالتی نمی توانیم از متغیر خود بیرون از تابع استفاده کنیم. بدین صورت می توانیم از یک نام برای چندین متغیر درون چندین تابع استفاده کنید چرا که متغیر های درون توابع، scope محلی (local) دارند و محدود به آن تابع هستند.

اگر می خواهید از درون یک تابع به متغیری دسترسی داشته باشید که دارای global scope است باید از کلیدواژه ی global استفاده کنید. تنها کافی است که global را قبل از نام متغیر اضافه کنید:

مشاهده ی خروجی

می بینید که این بار به خطا برخورد نکردیم. البته php تمام متغیرهای سراسری را در [GLOBALS[index$ ذخیره می کند (به جای index باید نام متغیر را قرار دهید) بنابراین می توانید از طریق آن حتی از درون توابع به متغیر های سراسری دسترسی داشته باشید و مقدار آن ها را تغییر دهید.

بنابراین می توانیم مثال بالا را اینطور بنویسیم:

مشاهده ی خروجی

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

مشاهده ی خروجی

بدین صورت هر زمانی که این متغیر را فراخوانی کنیم هنوز هم اطلاعات خود را به ما می دهد. البته حواستان باشد که متغیر هنوز هم از نوع محلی (local) است.

ترتیبی که روکسو برای یادگیری مطالب سری آموزش PHP 7 به شما توصیه می‌کند:

ارسال نظر

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

film izle | eskisehir escort | modanisa | mersin escort | www.ieski.com | eskort adana | www.izmir-eskort.org | kabak koyu | hd tv izle