تعریف متغییر و کاربرد متغییر ها در برنامه نویسی PHP

 

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

برای اینکه بتوایم در زمان اجرا چندین بار از داده مورد نظر استفاده کنیم باید آن را در یک متغییر قرار دهیم.

در زبان برنامه نویسی PHP به دلیل اینکه یک زبان اسکریپتی می باشد زمانی که یک متغیر ایجاد میکنید نوع آن زیاد مهم نیست. یعنی شما متغیری ایجاد می کنید و مقدار اولیه ۱۰ را به آن اختصاص می دهید. و در ادامه مقدار رشته ای "Test" را به آن اختصاص می دهید. در زمان کامپایل هیچ اخطاری به شما داده نمی شود. در زبان های برنامه نویسی اسکریپتی پیچیدگی و محدودیت های نوع داده در متغییر برداشته شده است. هرچند که می توانید برای یک متغییر نوع داده تعیین کنید. در PHP نسخه 7 این تغییرات دیده می شود و در ادامه به بررسی آن ها خواهیم پرداخت.

 

تعریف متغییر ها

 زمانی که میخواهید یک متغییر در PHP تعریف کنید باید یک شناسه یا Identifier برای آن مشخص کنید که نام آن متغییر محسوب می شود. یعنی باید برای آن متغییر یک نام تعریف کنید که هر زمان در صورت نیاز به مقدار آن با نام آن متغییر قابل دسترس باشد. برای تعریف یک متغییر ابتدا کارکتر $ و سپس نام متغییر یا همان Identifier را می نویسیم. مثلا برای تعریف متغییری با نام amount به صورت زیر عمل می کنیم

 

$amount;

 

کد بالا متغییری به نام amount ایجاد کرد. اما این متغییر هیچ مقداری ندارد و null می باشد. شما می توانید در زمان تعریف یک متغییر آن را مقدار دهی اولیه  (Initialized) نیز کنید.

برای اینکار از عملگر تخصیص = استفاده می کنیم. کد زیر را ببینید

 

$amount = 10;

 

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

 

$amount = 1000;
echo $amount;

 

خروجی شما به صورت زیر خواهد بود

 

1000

 

به یاد داشته باشید که PHP نسبت به بزرگ و کوچیک بودن نام متغییر ها و همچنین متد ها حساس است. یعنی متغییر amount با Amount متفاوت است. همچنین نام متغییر می تواند شامل حروف اعداد و خط زیر _ باشد ولی حرف اول متغییر نمی تواند با حروف شروع شود

 

انواع داده ها

 

زبان برنامه نویسی PHP از نظر نوع داده زبان قدرتمندی نیست و این به این معنی می باشد که نوع داده ای که یک متغییر می تواند زخیره کند مشخص نیست و بسته به مقداری که به آن تخصیص می دهید به صورت خودکار تغییر می کند. دستورات زیر را ببینید

 

$amount = 10; // integer
$amount = 1.5; // float

 

در خط اول متغییر amount مقدار صحیح (int) را داشت و در خط دوم مقدار اعشاری (float) را دارد. بنابراین با این ویژگی دانستن نوع داده در خیلی از مواقع نیاز نیست با این حال در بعضی از مواقع ضروری است که نوع داده را بدانیم.

در جدول زیر 9 نوع داده ای موجود در PHP را جمع آوری کرده ایم

 

int عددی عدد صحیح (int)
float عددی عدد اعشاری (float)
bool عددی مقدار بولی یا boolean
string عددی دنباله ای از کاراکتر ها
array مرکب مجموعه ای از مقادیر
object مرکب نوع داده ای که کاربر معرفی میکند
resource ویژه منبع خارجی
callable ویژه تابع یا متد
null ویژه تهی یا بدون مقدار

 

نوع Integer در PHP

 

یک Integer یک عدد صحیح می باشد که می توان آن را به صورت دسیمال ( مبنای 10 ) هگزا دسیمال ( مبنای 16 ) اکتال ( مبنای 8 ) یا باینری ( مبنای 2 ) نوشت.

 

$amount = 1234; // decimal
$amount = 0b10; // binary
$amount = 0123; // octal
$amount = 0x1A; // hexadecimal

 

نوع داده صحیح هم میتوانند مثبت و هم منفی باشند. دامنه اعداد صحیح بستگی به اندازه کلمه سیستم (System Word Size) دارد. برای مثال در یک سیستم ۳۲ بیتی بزرگترین مقدار به صورت زیر می باشد

 

2^32-1

 

 

نوع اعشاری یا float در PHP

 

برای ذخیره اعداد اعشاری 

 

$amount = 10.56;
$amount = 3e2; // 300 or 3*10^2

 

نوع Bool در PHP

 

یک مقدار بولی که شامل true و false می باشد. یعنی همان 0 و 1 منطقی که یا درست است یا نا درست

 

$amount = true;
$amount = false;

 

نوع null در PHP

 

برای تعریف متغییری که هیچ مقداری ندارد ( پوچ ) استفاده می شود

 

$amount = null;
$amount = NULL;

 

این نوع از داده بسته به جایی که آن را استفاده می کنیم تغییر می کند.اگر آن را به صورت Bool مقایسه کنیم مقدار false می باشد. اگر به صورت عددی ارزیابی کنیم معادل 0 است و در صورت ارزیابی به صورت رشته ای نیز معادل " " می باشد

 

$null_var = NULL;
$amount = $null_var + 0; // 0
$amount = $null_var == true; // false
echo $null_var; // " "

 

 

مقادیر پیش فرض در PHP

 

در PHP می توان از متغییر هایی که مقداری به آن ها اختصاص داده نشده است یا اصلا تعریف نشده ان استفاده کرد. در این صورت مقدار null به این متغییر ها تخصیص داده می شود. بدون تعریف متغییر amount آن را با echo چاپ می کنیم. دستورات زیر را ببینید

 

echo $amount;

 

با توجه به این که نه این متغییر تعریف شده و نه مقدار دهی اولیه شده است و نه در طول اجرای برنامه مقداری به آن اختصاص داده شده است PHP یک Notice یا یک آگهی به ما می دهد

 

Notice: Undefined variable: amount in /opt/lampp/htdocs/undefined.php on line 3

 

این آگهی باعث متوقف شدن برنامه نمی شود پیغام بالا که توسط PHP صادر شده است برای یاد‌ آوری به برنامه نویس می باشد. اگرچه این کار در PHP مجاز است اما از نظر برنامه نویسی بهتر است قبل از استفاده از متغییر ها آن ها را تعریف کنیم. همچنین می توانیم از متد isset استفاده کنیم. حتی اگر متغییر شما مقدار NULL را داشته باشد بهتر از قبل از استفاده آن را تعریف کنید.

 

 

منبع: www.it3du.ir