صفر تا صد آموزش متغیر در php
مقالات برنامه نویسیچگونه باید در زبان php متغیر تعریف کنیم ؟ چگونه متغیر را مقدار دهی کنیم ؟ انواع مختلف متغیر ، قواعد استفاده و حذف ، تغییر نوع متغیر و تمام موارد مربوطه را در این مقاله یکبار برای همیشه یاد بگیرید !

موضوع متغیر یکی از اصلیترین مباحث در دنیای برنامه نویسی است . میتوان گفت تمامی زبانهای برنامه نویسی امکان ایجاد و تعریف متغیر را دارند چراکه عملا بدون متغیر ، بخش زیادی از برنامه نویسی امکان پذیر نخواهد بود . نه تنها متغیر ، بلکه موارد مشابه همچون آرایه ، حلقه ، شرط و … نیز اعضای جدایی ناپذیر زبانهای برنامه نویسی هستند .
اما بحث امروز درمورد متغیرها یا اصطلاحا variables است . variable چیست و چرا در برنامه نویسی ملزم به استفاده از آن هستیم ؟ اگر این موضوع را ساده بررسی کنیم ، متغیر در حقیقت ظرفی است که شما چیزی را داخل آن قرار میدهید تا در مواقع نیاز از آن استفده کنید .
این استفاده کردن ممکن است برای خالی کردن کامل ظرف ، کاهش محتوای آن ، افزایش محتوای آن و یا حتی تغییر محتوای داخل آن باشد . همچنین متغیر میتواند در ابتدا خالی از مقدار باشد یا به عبارتی ظرف شما خالی از هر چیزی باشد .
متغیر چیست ؟
تصور کنید که در برنامه نویسی ، نیاز دارید تا مقادیری را در جایی ذحیره کنید ! مثلا سن کاربر سایت خودتان را از فرم دریافت کرده و آن را داخل جدولی در پایگاه داده ذخیره کنید .
قبل از اینکه این متغیر در جدولی داخل دیتابیس ذخیره شود ، باید مقدار آن را در کد دریافت کنیم و چه بهتر است که آن را فعلا در داخل متغیری ذخیره کنیم چرا که ممکن است در جای دیگری از پروسه کدنویسی به آن نیاز داشته باشیم . فضایی که قرار است این مقدار را داخل آن ذخیره کنیم ، فضایی داخل یک متغیر است !
اگر قصد دارید تا برای مثال دو عدد را با یکدیگر جمع کنید ، شما حداقل نیاز به دو متغیر دارید . متغیر a برابر با عدد 10 و متغیر b برابر با عدد 5 است . اکنون قصد داریم تا جمع این دو عدد را بدست آوریم .
برای اینکه نتیجه جمع دو عدد را بدست آورده و آن را نگه داریم ، مجدد به یک متغیر نیاز داریم . اکنون این متغیر میتواند یا یکی از دو متغیر a و b باشد و یا متغیر جدیدی بنام c ایجاد کرده و مقدار جمع را داخل آن قرار دهیم .
اگر حاصل جمع دو عدد را داخل یکی از دو متغیر a یا b قرار دهیم ، در حقیقت مقدار یکی از متغیرها را تغییر دادهایم اما اگر یک متغیر جدید بنام c بسازیم ، مقدار دومتغیر a و b ثابت باقی مانده و یک متغیر با مقدار جدید ایجاد کردهایم .
پس متغیرها ابزار اصلی ما برای کار روی دادههای مختلف خواهند بود که میتوانیم در طول برنامه ، فرآیندهای مختلفی را توسط آنها و یا بروی آنها پیاده کنیم .
روش تعریف متغیر در زبان C و php
لازم است اطلاع داشته باشید که متغیرها میتوانند انواع داده مختلفی را داخل خود ذخیره کنند .برای مثال دادههای عددی صحیح و اعشاری مثل 1 و 67 و 22.6 ، دادههای متنی مثل “سلام” و ” hello world ” ، آرایه ، رشتههای منطقی یا به عبارات true و false و …
شروع کار با متغیر
متغیر برای اینکه داخل برنامه به درستی کار کند ، قبل از هرچیز نیازمند یک اسم است . در تمام زبانهای برنامه نویسی شما جهت ایجاد متغیر باید یک اسم برای آن انتخاب و تعیین کنید .
علاوه بر نام ، لازم است تا نوع متغیر نیز مشخص باشد . به عبارتی این متغیر قصد دارد تا چه نوع محتوایی داخل خودش ذخیره کند ؟ متغیرهای عددی ، رشته ، منطقی و …
برای مثال در زبان برنامه نویسی C تعریف متغیر بصورت زیر است :
int aa = 50;
در این تعریف ، کلمه کلیدی int برای این است که نمایش دهیم این متغیر از نوع عددی یا در اصطلاح برنامه نویسی int است ( اینتیجر ) . aa نشان دهنده نام متغیر است که توصیه میکنیم برای متغیرهای خود نام درستی را انتخاب کنید تا در طول کدنویسی خودتان راحت باشید . البته درمورد قواعد نام گذاری متغیرها در ادامه صحبت خواهیم کرد . مقدار عددی 50 نیز مقداری است که این متغیر درون خود نگه خواهد داشت .
این روش تعریف متغیر در زبان C بود . اما در زبان برنامه نویسی php چگونه یک متغیر را باید تعریف کرد ؟ برای تعریف یک متغیر در زبان php شما نیازی به تعریف نوع متغیر ندارید و به عبارتی خود زبان نوع متغیر را باتوجه به دادهای که درون آن قرار میگیرد یا قرار خواهد گرفت ، تعیین خواهد کرد . روش تعریف یک متغیر در زبان php بصورت زیراست :
$varx = "Hello";
کلید تعریف متغیر در زبان پی اچ پی حرف $ است . شما ابتدا به یک حرف $ نیاز دارید . سپس بعد از این علامت باید اسم متغیر را بنویسید که در اینجا اسم متغیر varx است . مقداری که داخل این متغیر قرار گرفته است نیز یک مقدار رشتهای بصورت Hello است . اینکه نوع این دادهها چگونه مشخص میشود که رشته است یا عدد ، در ادامه توضیح خواهیم داد .
انواع متغیر در php
اکنون که میدانید متغیر چیست ، بد نیست تا انواع آن را نیز بشناسیم ، البته عموما در زبانهای برنامه نویسی ، انواع متغیرها شباهت زیادی به هم دارند و تفاوت در برخی دیتا تایپهای خاص است . در زبان برنامه نویسی php انواع متغیرها عبارتند از :
- String ( نوع رشته و عبارات شامل هر متن )
- Integer ( نوع عدد در اعداد صحیح )
- Float ( اعداد اعشاری یا همان شناور )
- Boolean ( عبارات true و false )
- Array ( انواع آرایه )
- Object ( شی ، در برنامه نویسی شی گرا )
- NULL ( تهی )
- Resource
این موارد تمام نوع متغیرهایی هستند که میتوانید در زبان php تعریف کنید . با نوع رشته و عدد در بالا آشنا شدید ، نوع اعشاری نیز قطعا برای شما واضح است . برای مثال :
$f=12.56;
در رابطه با نوع آرایه باید گفت شما میتوانید یک آرایه را که مجموعهای از دادهها است داخل متغیر قرار دهید برای مثال به نمونه زیر دقت کنید :
$k = array("hello",526,20.5,true);
متغیر $k شامل یک آرایه است . در داخل آرایه ، 4 نوع مختلف داده وجود دارد . هم از نوع رشته ، هم از نوع عدد صحیح ، هم عدد اعشاری و هم عبارت منطقی !
اما تمامی این مقادیر داخل تنها یک متغیر بنام $k از نوع آرایه ذخیره شده است . پس میتوانید اکثر انواع داده را داخل متغیرهای زبان php ذخیره کنید و تقریبا کاملترین سطح دسترسی به ذخیره سازی انواع داده را دارید .
نوع Object
اگر با برنامه نویسی شی گرا آشنایی داشته باشید ، اطلاع دارید که میتوانید ضمن تعریف یک کلاس ، اشیا مختلفی از آن را ایجاد کنید . این اشیا را نیز میتوانید در داخل متغیر قرار دهید :
class seo{
function model() {
$model_name = "seo course";
echo "course name : " .$model_name;
}
}
$obj = new seo();
$obj -> model();
همانطور که در مثال بالا مشاهده میکنید ، شی new seo از کلاس seo در داخل متغیر $obj قرار گرفته است .
نوع Resource
شما میتوانید برخی از دستورات خاص را در قالب Resource داخل متغیر قرار دهید . نمونه بارز این Resource ها ، دستورات SQL هستند . برای مثال به دستور زیر دقت کنید :
$con = mysqli_connect("localhost", "root", "");
در این دستور ، یک دستور جهت اتصال به پایگاه داده ، داخل متغیر con قرار گرفته است . شما هنگام برنامه نویسی داینامیک دستورات برای اتصال دیتابیس به پروژه ، حجم زیادی از این دستورات را استفاده خواهید کرد .
قوانین نام گذاری متغیرها در php
همانطور که اگر به مثالهای بالا دقت کنید ، ما از اسامی حروف لاتین برای نامگذاری متغیرها استفاده کردیم و البته اشاره کردیم که جهت نامگذاری متغیرها از اسامی با مفهوم استفاده کنید تا در حین کدنویسی با مشکل عدم خوانایی کد روبرو نشوید . برای نامگذاری متغیر در زبان php باید چند شرط ساده را رعایت کنید :
- نام متغیر حتما باید با علامت $ شروع شود
- بین علامت $ و نام متغیر نباید فاصله باشد
- اسم متغیر را نباید با شماره و عدد شروع کنید
- نام متغیر حتما باید با یک حرف لاتین یا علامت _ شروع شود
- در نام متغیر نباید از فاصله استفاده کنید
- در نام متغیر نباید از علامتهایی مثل * / – % و … استفاده کرد ، نام فقط باید شامل حروف z-A و اعداد 0-9 و _ باشد
- زبان php به حروف بزرگ و کوچک حساس است پس بین RR$ و rr$ تفاوت قائل است
این موارد تنها قواعد برای نامگذاری اسامی متغیرها هستند که بسیار ساده بوده و شما ملزم به رعایت آنها در حین کدنویسی هستید . برای مثال اسامی متغیرهای زیر اشتباه هستند :
$25age = ;
$*ali = ;
$ aa = ;
$ a a = ;
پس میتوانید به همین سادگی ، متغیرهای خود را در زبان php نام گذاری کنید .
قواعد خاص متغیرها در php
شما در زبان php امکان تعریف یک مقدار را بصورت همزمان برای چند متغیر دارید . به مثال زیر دقت کنید :
$x = $y = $z = "Fruit";
شما برای هر سه متغیر x و y و z میتوانید بصورت همزمان ، مقدار یکسانی را تعریف کنید و اگر از تمامی آنها خروجی بخواهید ، همگی رشته Fruit را چاپ خواهند کرد .
مورد دوم در مورد متغیر این است که چون زبان برنامه نویسی php بصورت خط به خط اجرا میشود ، اگر برای مثال شما در خط 10 از برنامه ، یک متغیر بصورت زیر تعریف کرده باشید :
$sumd = 170;
و در خط مثلا 100 از برنامه نیز مجدد همین متغیر را مقداردهی کرده باشید ( به اشتباه مثلا ) :
$sumd = 50;
اکنون مقدار متغیر شما از خط 100 به بعد برابر با 50 خواهد بود . لذا اگر متغیر شما مجدد در ادامه کدهای شما تعریف شود ، مقدار و نوع آن ممکن است overwrite شود . این موضوع مربوط به محدود یا همان Scope است . اگر موضوع محدوده را باز کنیم ، سه نوع محدوده برای متغیرها داریم :
- متغیرهای محلی (Local)
- متغیرهای سراسری (Global)
- متغیرهای ایستا (Static)
اگر درباره هرکدام یک توضیح کوتاه ارائه کنیم میتوان اینگونه گفت که :
متغیرهای محلی
این نوع متغیرها داخل توابع تعریف میشوند و به این دلیل که مربوط به بدنه یک تابع خاص هستند ، شما نمیتوانید بیرون از تابع از آنها استفاده کنید ، بصورت زیر :
$smp = 178;
function test(){
$smp = 50;
echo $smp."<br>";
}
test();
echo $smp;
خروجی دستور بالا بصورت زیر است :
50
178
با اینکه دو متغیر هم نام بصورت smp داشتیم ، اما به این دلیل که یکی از آنها داخل تابع تعریف شده پس متغیر محلی است و لذا ارتباطی به متغیر smp که بیرون تابع تعریف شده است ندارد .
متغیرهای سراسری
متغیرهای سراسری همان متغیرهایی هستند که خارج از بدنه توابع و در بدنه کلی کد استفاده میشوند . این متغیرها در تمامی قسمتهای برنامه شما قابل استفاده هستند ، اما نکته مهم اینجاست :
بصورت زیر :
$kly = 200;
function tests(){
global $kly;
echo $kly;
}
tests();
در این حالت شما تنها یک متغیر و یک مقدار دارید و خروجی تابع بالا ، چاپ مقدار 200 خواهد بود .
متغیرهای ایستا
این نوع از متغیرها زمانی کاربرد دارند که شما قصد داشته باشید ، متغیرهایی که داخل تابع استفاده میشوند ، پس از استفاده ، حذف شوند تا حافظه خالی شود . در اینصورت میتوانید متغیر را بصورت ایستا و به شکل زیر تعریف کنید :
function masks(){
static $z = 120;
}
در این حالت پس از اجرای برنامه ، مقدار متغیر z حذف شده و حافظه اشغال شده توسط آن ، خالی خواهد شد .
تبدیل نوع متغیر در php
یکی از مواردی که ممکن است در زبان برنامه نویسی php با آن روبرو شوید یا به آن نیاز داشته باشید ، تبدیل نوع متغیر است . تصور کنید که شما در بخشی از کدنویسی خود ، لازم دارید تا مطمئن باشید که دادههای شما حتما بصورت عددی باشند .
برای مثال متغیر شما بصورت رشته برای شما ارسال شده است ، با اینکه مقدار آن یک عدد است اما به دلیل تعریف داخل ” ” ، یک رشته محسوب میشود ، لذا برای اینکه این متغیر را از نوع رشته به نوع عددی تغییر دهیم ، میتوانیم بصورت زیر عمل کنیم :
$x = "129";
$y =intval($x);
در این قطعه کد ، مقدار متغیر x برابر با رشته 129 است لذا چون رشته است ، نمیتوان بصورت دقیق روی آن حساب کرد تا نتیجه درستی در محاسبات به ما دهد ، لذا جهت اطمینان خاطر ، به کمک تابع intval ، مقدار رشته “129” را به عدد 129 تبدیل کردیم تا بتوانیم آن را بصورت مقادیر محاسباتی استفاده کنیم .
برعکس این کار را نیز میتوان انجام داد یعنی یک عدد را به یک رشته تبدیل کنیم که این امر را نیز میتوان با تابع string انجام داد .
اما کاملتر از تمام این توابع ، یک تابع کلی داریم که میتوانید تعیین کنید نوع متغیر اولیه را ، قصد دارید به چه نوع دومی تغییر دهید ، به مثال زیر دقت کنید :
$value = "15.25";
settype($value, "integer");
echo $value;
در اینجا به کمک تابع settype که دو ورودی دارد ، ابتدا مشخص میکنیم که روی چه متغیری قصد داریم تغییر نوع را انجام دهیم و در پارامتر دوم تعیین میکنیم که قصد داریم تا متغیر به چه نوعی تغییر کند .
در این مثال یک عدد شناور یا اعشاری را به عدد صحیح تغییر نوع دادیم که خروجی آن عدد 15 خواهد بود . عبارتهایی که میتوانید به عنوان پارامتر دوم این تابع جهت تغییر نوع ارسال کنید بصورت زیر هستند که حتما باید بصورت رشته و داخل ” ” وارد شوند :
- “boolean” or “bool”
- “integer” or “int”
- “float” or “double”
- “string”
- “array”
- “object”
- “null”
پس برای تغییر در نوع متغیر ، میتوانید بسادگی و بجای بکار بردن چند تابع مختلف ، از تابع settype استفاده کنید .
تقریبا تمامی موارد مربوط به تعریف و استفاده از متغیر در زبان برنامه نویسی php را خدمت شما آموزش دادیم . امیدواریم محتوای ارائه شده بخوبی به سئوالات شما در این حوزه پاسخ داده باشد . چنانچه در مورد مبحث متغیر در php سئوالات بیشتری داشتید ، حتما در قسمت پرسش و پاسخ با ما در ارتباط باشید . پاینده بمانید .