متغیرها در PHP
متغیرها در php متفاوت تر از سایر زبان های برنامه نویسی استفاده می شوند. برخلاف زبان هایی که می بایستی اجبارا نوع داده را تعیین کنید و سپس مقدار به آن اختصاص دهید. (مانند جاوا و سی + +)
php خود بخود نوع داده متغیر را تعیین می کند وقتی که به آن مقدار می دهید. این مسئله php را در زمینه استفاده از متغیرها و ورود داده ها به آن ساده تر می کند.
متغیرهای php قوائد مشخصی را دنبال می کنند. تمامی متغیرها می بایستی با $ شروع شوند و سریعا با یک حرف الفبا یا خط زیرین شروع شوند. (_) همچنین می توانند شامل اعداد هم بعد از یک حرف الفبا شوند.
تذکر : عدد نمی تواند شروع کنند متغیر باشد.
از نگارش php 4 به بعد نیز امکان رفرنس در متغیر نیز اضافه شده است. این یعنی اگر متغیری را با متغیر دیگر با & رفرنس دهید، اگر آنرا تغییر بدهید، متغیر اصلی نیز همان می شود و تغییر می کند.
مثال کدی زیر شامل تمامی نکات بالاست :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<?php // مثال کدی // یک متغیر درست php : $moteghayere_man = 0; // : یک متغیر نادرست می تواند به شکل زیر باشد //$1$moteghayere_man = 0; $moteghayere_shoma = "این مقدار متغیر من است<br />"; // مثال برای اختصاص مقدار به یک متغیر $moteghayere_man = $moteghayere_shoma; // و اگر بخواهیم آنرا تغیر بدهیم $moteghayere_man = "این مقدار جدید متغیر من است.<br />"; echo $moteghayere_shoma; // خروجی متغیر من را بر روی صفحه موقع اجرای کد نشان می دهد // مثالی برای اختصاص متغیر از طریق رفرنس $moteghayere_man = &$moteghayere_shoma; $moteghayere_man = "این مقدار جدید متغیر من است.<br />"; echo $moteghayere_shoma; //خروجی این مقدار جدید متغیر من است.<br /> می شود. ?> |
نام گذاری متغیرها در PHP
متغیرها محفظه هایی هستند که برای نگه داری اطلاعات بکار می روند. متغیرهای PHP از نظر مفهوم مانند متغیرهای برای مثال جاوا اسکریپت و باقی زبان های مشابه هستند ولی تفاوت اندکی نیز دارند. یک متغیر، نام و اطلاعات را در خود ذخیره می کند. ممکن است یک متغیر را $age نام گذاری کنید و عدد 30 را در آن ذخیره کنید. اطلاعات ذخیره شده در یک متغیر می تواند بعدا در اسکریپت استفاده شود. یکی از معمول ترین استفاده ها برای متغیرها نگه داشتن اطلاعاتی است که کاربر در یک فرم تایپ می کند.
در این درس های پیش رو، اطلاعاتی در مورد ساخت نام مناسب و ساخت متغیرهای PHP و اختصاص دهی مقدار به آنها برای شما ارائه می کنیم. همچنین به شما می گوییم چگونه از متغیرهای پویا و داینامیک استفاده کنید و مقادیر را در انواع مختلف دستورات PHP نشان دهید.
نام گذاری یک متغیر PHP
وقتی که برای یک متغیر اسم گذاری می کنید، قوائد زیر را بخاطر بسپارید :
- شناسه : تمامی متغیرها یک نشانه $ در جلوی خود دارند. این نشان دلار به PHP می گوید که این یک متغیر است.
- شروع اسم : نام متغیرها می بایستی با یک حرف یا یک خط زیر شروع شود. نام نمی تواند با یک عدد شروع شود.
- طول قابل قبول : نام های متغیرها می توانند هر اندازه که شما می خواهید، باشند.
- کاراکترهای مجاز : نام های متغیرها می توانند شامل اعداد، حروف و خط زیر _ باشند.
- حساسیت بر روی حروف بزرگ یا کوچک : حروف بزرگ یا کوچک اغلب در زبان های برنامه نویسی یکسان نیستند. برای مثال $myname و $Myname متغیرهای یکسان نیستند. اگر برای مثال شما اطلاعاتی را در $myname ذخیره کنید نمی توانید به آن اطلاعات توسط استفاده از نام $Myname دسترسی پیدا کنید.
ساخت و اختصاص مقدار به متغیر در PHP
متغیرها می توانند اعداد یا رشته های کاراکتری را نگه دارند. شما اطلاعات را در متغیرها با علامت تکی مساوی ذخیره می کنید. برای مثال این 4 دستورات PHP زیر اطلاعات را در متغیرها ذخیره می کنند.
1 2 3 4 |
$age = 30; $price = 14.99; $number = -5; $lastname = "احمدی"; |
توجه کنید که رشته کاراکتر در کوتیشن جا سازی شده است ولی اعداد اینگونه نیستند. در درس های بعد تحت عنوان فهم انواع داده بیشتر در مورد کاراکترها و اعداد صحبت خواهیم کردیم. هر موقع اطلاعاتی را داخل متغیری می کنید که قبلا وجود نداشته اشت، در حقیقت دارید متغیر می سازید. برای مثال فرض می کنیم شما از دستور زیر استفاده کرده اید :
$lastname = “احمدی”;
اگر این دستور، اولین باری که متغیر $lastname را از طریق آن فراخوانی کرده اید، باشد، در نتیجه دستور، متغیر $lastname را می سازد و مقدار آن را “احمدی” قرار می دهد.
همچنین می توانید مقداری از یک متغیر را حذف کنید. ممکن است این کار را برای پاک سازی اطلاعات یا مقدار دهی اولیه انجام دهید. برای مثال، دستور زیر اطلاعات را از متغیر $lastname حذف می کند.
$lastname = “”;
متغیر $lastname هنوز وجود دارد ولی دیگر حاوی مقدار نیست. این بدین معنا نیست که متغیر مقدار 0 (صفر) گرفته است برای اینکه صفر هم یک مقدار است. این بدین معناست که $lastname هیچ اطلاعاتی را ذخیره نکرده است. این متغیر حاوی یک رشته به طول صفر است.
شما همچنین می توانید بیشتر جلو بروید و متغیر را بوسیله دستور زیر از میان ببرید :
unset($lastname);
بعد از اینکه دستور اجرا شد، متغیر $lastname دیگر وجود خارجی نخواهد داشت.
استفاده از متغیرهای متغیر در PHP
PHP به شما اجازه استفاده از نام های متغیری داینامیک یا اصطلاحا “متغیرهای متغیر” یا variable variables را می دهد. شما می توانید یک متغیر را با مقدار ذخیره شده در متغیر دیگر نام گذاری کنید. یعنی متغیری حاوی نام متغیر دیگر است. برای مثال فرض می کنیم می خواهید متغیر $shahr را با مقدار Tehran بسازید. می توانید از دستور زیر استفاده کنید :
$name_moteghayer = “city”;
این دستور یک متغیر حاوی نامی که شما می خواهید به متغیر اختصاص دهید می سازد. بعد از این از دستور زیر استفاده کنید :
$$name_moteghayer = “Tehran”;
دقت کنید از یک علامت دلار اضافه در شروع نام متغیر استفاده کرده ایم. این کار نشان می دهد که یک متغیر متغیر درست کرده ایم. دستور، یک متغیر با ناکی که مقدارش در متغیر $name_moteghayer است می سازد که نتیجه زیر را می دهد :
$shahr = “Tehran”;
مقدار متغیر $name_moteghayer تغییر نمی کند.
مثال زیر نشان می هد که چگونه این ویژگی کار می کند. در فرم حال حاضر آن، دستورات اسکریپت ممکن است مفید به نظر نرسند. ممکن است به این نتیجه برسید راه بهتری برای برنامه نویسی این وظیفه در نظر دارید. ارزش واقعی متغیرهای متغیر وقتی واضح تر می شود که از طریق آرایه ها یا حلقه ها مورد استفاده قرار بگیرند که در درس های آینده به آن نیز می رسیم.
فرض می کنیم می خواهید یک سری از متغیرها را با نام شهرها که حاوی مقادیر جمعیت شهرها هستند، نامگذاری کنید. می توانید از این کد استفاده کنید :
1 2 3 4 5 6 |
$Tehran = 8300000; $Ghom= 964706; $cityname = "Tehran"; echo "جمعیت $cityname این مقدار است : ${$cityname}"; $cityname = "Ghom"; echo "جمعیت $cityname این مقدار است : ${$cityname}"; |
خروجی کد چنین است :
جمعیت Tehran این مقدار است : 8300000
جمعیت Ghom این مقدار است : 964706
توجه کنید که شما احتیاج دارید از براکت در کنار نام متغیر در دستور echo استفاده کنید و اینگونه است که PHP متوجه می شود کجای دستور echo متغیر است. اگر از براکت استفاده نکنید، خروجی چنین می شود:
جمعیت Tehran این مقدار است : $Tehran
بدون براکت های {} ، PHP متغیر $cityname را به مقدارش تبدیل می کند و یک علامت دلار اضافی در خروجی، جلوی آن می گذارد که نتیجه پردازش اشتباهی آن به عنوان یک کاراکتر رشته ای است.
متغیرها در سایت PHP
متغیرها : http://php.net/manual/en/language.variables.php
مقدمات متغیرها : http://php.net/manual/en/language.variables.basics.php
متغیرهای از پیش تعیین شده : http://php.net/manual/en/language.variables.predefined.php
محدوده متغیرها : http://php.net/manual/en/language.variables.scope.php
متغیرهای متغیر : http://php.net/manual/en/language.variables.variable.php
متغیرهای از منابع و سورس های خارجی : http://php.net/manual/en/language.variables.external.php
مقداد علی بخشی هستم. موسیقی دان، برنامه نویس، متخصص هوش مصنوعی، علم داده، متخصص بلاکچین و توسعه دهنده ربات های هوشمند.
دانش آموخته مقطع ارشد و دکتری دانشکده فنی دانشگاه تهران هستم. با سابقه تدریس درس برنامه نویسی در دانشگاه (پردیس بین الملل کیش دانشگاه تهران)