akofaraji.ir
متغیرها در زبان PHP
نوشته شده در تاریخ 08 فروردین 1403
نظرات: 0 امتیاز: 10 زمان مطالعه: 11 دقیقه

 

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

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

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

 

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

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

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

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

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

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

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

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

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

خروجی این کد عبارت “!I love akofaraji.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) است.

 

منبع: سایت روکسو


اگر احساس می کنید این مطلب برای شما مفید بود ، از 1 تا 10 به این مطلب امتیاز دهید

دیدگاه کاربران در مورد این مطلب

ثبت نظر
به نظر خوب میاد!
لطفا نام را وارد کنید
@
لطفا یک ایمیل منحصر به فرد و معتبر انتخاب کنید.
لطفا متن با کلمات و معانی مفهوم دار وارد نمایید