متغیرها یکی از مهمترین مفاهیم موجود در دنیای برنامه نویسی هستند که توسعهدهندگان فارغ از زبان برنامه نویسی مورد استفاده با آنها سروکار دارند. در واقع، متغیرها نقش بسیار مهمی در پردازش اطلاعات ایفا میکنند. با استفاده از این مفهوم توسعهدهندگان میتوانند دادهها و مقادیر مورد نیاز برنامه خود را ذخیره کنند. در زبان برنامه نویسی PHP نیز همانند سایر زبانهای برنامه نویسی دیگر امکان استفاده از متغیر در برنامه وجود دارد. هر چند تعریف متغیر در PHP و نحوه مقداردهی و تعیین نوع آنها شاید کمی متفاوت به نظر برسد. بر همین اساس در مطلب پیشرو از مجله فرادرس نحوه تعریف متغیر در PHP به همراه انواع آن مورد بررسی قرار گرفته است.
علاوه بر این، با مطالعه این مطلب با مباحث مهمی همچون قواعد نامگذاری متغیر، انواع متغیرها در PHP، تبدیل نوع متغیرها و سایر موارد مهم در این حوزه با مثالهای متنوع آشنا خواهید شد.
متغیر در برنامه نویسی چیست؟
«متغیر» (Variable) در برنامه نویسی مکانی نامگذاری شده در حافظه کامپیوتر است که امکان ذخیرهسازی دادهها در آن وجود دارد. در برنامه نویسی متغیر دارای مقداری است که با توجه به شرایط یا اطلاعات ارسال شده به برنامه میتواند تغییر کند.
به طور کلی یک برنامه کامپیوتری از ۲ بخش اصلی تشکیل میشود. بخش اول شامل دستورالعملهایی است که نحوه اجرای دستورات را مشخص میکنند. بخش دوم نیز دادهها و مقادیری هستند که برنامه از آنها استفاده میکند.
کاربرد متغیر در برنامه نویسی چیست؟
متغیرها در برنامه نویسی به منظور ذخیرهسازی اطلاعات برنامه مورد استفاده قرار میگیرند. علاوه بر این، متغیرها با برچسبگذاری بر روی دادههای مورد استفاده در برنامه موجب بهبود خوانایی برنامه میشوند. به زبان ساده در دنیای برنامه نویسی متغیر را میتوان به عنوان ظرفی برای ذخیرهسازی اطلاعات در نظر گرفت که هدف اصلی آن برچسبگذاری و ذخیره دادهها در حافظه است. همچنین، ذکر این نکته ضروری است که میتوان از دادههای ذخیره شده در متغیرها در سراسر برنامه استفاده کرد.
تعریف متغیر در PHP
متغیر در زبان برنامه نویسی PHP نیز به منظور ذخیرهسازی نوعهای دادهای مختلف مورد استفاده قرار میگیرد. تمام نوعهای دادهای از جمله «رشته» (String)، عدد و سایر موارد با استفاده از متغیرها قابل ذخیرهسازی هستند.
مقدار متغیرهای تعریف شده در طول اسکریپت PHP قابل تغییر است. در ادامه مهمترین نکات در خصوص تعریف متغیر در PHP ارائه شده است.
- در زبان PHP نیازی به اعلان متغیر قبل از مقداردهی نیست. در واقع، «مفسر» (Interpreter) زبان PHP به صورت خودکار متغیر را بسته به مقدار آن به نوع داده مناسب تبدیل میکند.
- بعد از اعلان متغیر میتوان از آن در سراسر برنامه استفاده کرد.
- برای تخصیص مقدار به متغیر در PHP از عملگر انتساب( =
)استفاده میشود.
- قبل از نام متغیر در زبان PHP باید کاراکتر $
قرار داده شود.
با توجه به موارد ذکر شده در بالا نحوه تعریف متغیر در PHP به صورت زیر است.
در مثال بالا متغیر با نام var_name
و مقدار value
تعریف شده است.
مثالی از تعریف متغیر در PHP
همان طور که در بالا نیز عنوان شد، نیازی به اعلان متغیرها در PHP نیست. مفسر زبان PHP به صورت خودکار متغیر را بعد از مقداردهی به نوع داده مناسب تبدیل میکند. برای درک بهتر این موضوع مثال زیر ارائه شده است.
1<?php
2// Declaring variables
3$txt = "Hello World!";
4$number = 10;
5
6// Displaying variables value
7echo $txt; // Output: Hello World!
8echo $number; // Output: 10
9?>
در مثال بالا متغیری با نام $txt
ایجاد شده است که مقداری از نوع رشته دارد. همچنین، متغیر $number
نیز با یک عدد صحیح مقداردهی شده است. مفسر زبان PHP بعد از مقداردهی متغیرها با توجه به مقدار داده شده نوع داده مناسب را برای هر کدام تعیین میکند. در ادامه نیز با دستور echo در PHP متغیرهای مورد نظر در خروجی چاپ شدهاند.
قواعد نامگذاری متغیر در PHP
نامگذاری متغیرها در هر زبانی قواعد مخصوص به خود را دارد. در زبان برنامه نویسی PHP نیز برای نامگذاری متغیرها باید نکات زیر را رعایت کرد.
- در ابتدای متغیرها در زبان PHP کاراکتر $
قرار میگیرد و در ادامه نیز نام متغیر باید قرار داده شود.
- نام متغیر باید با کاراکتر حرفی یا کاراکتر «زیر خط» (Underline ) شروع شود.
- نام متغیر نمیتواند با عدد شروع شود.
- نام متغیر در PHP تنها میتواند شامل کاراکترهای عددی یا زیر خط ( 9-0، A-z و _ ) باشد.
- امکان استفاده از «فاصله خالی» (Space) در نام متغیر وجود ندارد.
- نباید از کاراکترهای خاص در نام متغیر استفاده کرد.
علاوه بر نکات بالا باید این نکته را نیز در نظر داشت که نام متغیرها در PHP به کوچکی و بزرگی حروف حساس هستند که به این مورد در اصطلاح Case Sensitive گفته میشود. در واقع، متغیرهایی با نامهای $x
و $X
دو متغیر متفاوت هستند. بنابراین، در تعیین نام متغیرها باید دقت زیادی به خرج داد.
نکاتی در خصوص مقداردهی متغیر در PHP
فرایند تعریف و مقداردهی متغیرها در PHP در مقایسه با بسیاری از زبانهای برنامه نویسی فرایندی نسبتاُ سادهتر است. بر همین اساس در این بخش از نوشته مهمترین نکات در خصوص مقداردهی متغیرها در PHP ارائه شده است.
مقداردهی متغیر در PHP
مقداردهی متغیر در PHP بسیار آسان است و برای این منظور باید بعد از نام متغیر علامت =
را قرار داد. در ادامه، مقدار یا عبارت نوشته شده بعد از علامت =
به متغیر اختصاص داده میشود. قطعه کد زیر به روشنی این موضوع را نشان میدهد.
در مثال بالا عبارت تعیین شده به متغیر $pi
اختصاص داده شده است.
مقداردهی مجدد متغیر در PHP
پس از تخصیص مقدار به متغیر در صورت نیاز برنامه میتوان مقدار جدیدی را به همان متغیر تعریف شده اختصاص داد. قطعه کد زیر نحوه مقداردهی مجدد متغیر در PHP را نشان میدهد.
1<?php
2 // مقداردهی اولیه
3 $var = 18;
4 // مقداردهی مجدد
5 $var= 45;
6 echo "variable value is:".$var;
7?>
خروجی حاصل از اجرای قطعه کد بالا به صورت زیر خواهد بود.
variable value is: 45
در مثال بالا متغیر $var
با مقدار اولیه 18 تعریف شده است. در ادامه مقداردهی مجدد این متغیر صورت گرفته است. با اجرای دستور echo مقدار نهایی این متغیر در خروجی چاپ خواهد شد.
متغیرهای مقداردهی نشده در PHP
در بسیاری از زبانهای برنامه نویسی در صورت عدم تخصیص مقدار به متغیر ادامه اجرای دستورات متوقف شده و خطا گزارش میشود. با این وجود در زبان برنامه نویسی PHP امکان تعریف متغیر بدون مقدار اولیه وجود دارد. PHP به متغیرهای بدون مقدار آدرسی در حافظه اختصاص میدهد. علاوه بر این، امکان پیادهسازی سیستم گزارش خطا نیز در PHP وجود دارد.
محدوده متغیر در PHP
یکی از نکات بسیار مهم در خصوص متغیرها در تمام زبانهای برنامه نویسی بحث «محدوده» (Scope) است. محدوده متغیر به بخشی از برنامه اشاره دارد که میتوان به متغیر مورد نظر در آن بخش دسترسی داشت.
در واقع باید این نکته را در نظر داشت که استفاده از متغیرها شامل محدودیت است. این بدان معنا است که امکان استفاده از یک متغیر در هر بخشی از برنامه وجود ندارد. بر همین اساس، ۳ محدوده اصلی برای متغیرها در زبان برنامه نویسی PHP قابل تعریف است.
- متغیرهای «محلی» (Local)
- متغیرهای «سراسری» (Global)
- متغیرهای «ایستا» (Static)
در ادامه این بخش هر ۳ محدوده اصلی قابل تعریف برای متغیرها در زبان برنامه نویسی PHP مورد بررسی قرار گرفته است.
متغیرهای محلی در PHP
به متغیرهای تعریف شده در بدنه تابع در PHP متغیرهای محلی آن تابع گفته میشود و تنها در محدوده همان تابع قابل دسترسی هستند. به بیان سادهتر متغیرهای تعریف شده درون تابع خارج از محدوده آن تابع قابل دسترسی نیستند. در نتیجه، با رسیدن به انتهای تابع متغیر و مقدار اختصاص داده شده به از بین میرود. همچنین، متغیرهای مشابه تعریف شده در خارج از تابع با متغیرهای داخل تابع کاملاً متفاوت هستند. قطعه کد زیر نحوه تعریف متغیر محلی در PHP را نشان میدهد.
1<?php
2
3$num = 60;
4
5function local_var() {
6
7 // This $num is local to this function
8 // the variable $num outside this function
9 // is a completely different variable
10 $num = 50;
11 echo "local num = $num <br>";
12}
13
14local_var();
15
16// $num outside function local_var() is a
17// completely different variable than that of
18// inside local_var()
19echo "Variable num outside local_var() function is $num n";
20
21?>
در مثال بالا متغیر $num
در خارج از تابع تعریف شده است. همچنین، متغیری با همین نام و مقداری متفاوت درون بدنه تابع local_var()
نیز وجود دارد. باید به این نکته توجه داشت که این دو متغیر کاملاً مجزا از یکدیگر هستند. خروجی حاصل از اجرای قطعه کد بالا به صورت زیر است.
local num = 50 Variable num outside local_var() function is 60
متغیرهای سراسری در PHP
به متغیرهای تعریف شده در خارج از بدنه تابع در PHP اصطلاحاً متغیرهای سراسری گفته میشود. این متغیرها به صورت مستقیم خارج از تابع قابل دسترسی هستند. برای دسترسی به متغیرهای سراسری درون بدنه توابع باید از کلمه کلیدی global قبل از نام متغیر استفاده کرد. قطعه کد زیر نحوه دسترسی به متغیرهای سراسری در PHP درون بدنه توابع را نشان میدهد.
1<?php
2
3$num = 20;
4
5// Function to demonstrate use of global variable
6function global_var() {
7
8 // We have to use global keyword before
9 // the variable $num to access within
10 // the function
11 global $num;
12 echo "Variable num inside function : $num n";
13}
14
15global_var();
16echo "Variable num outside function : $num n";
17
18?>
در قطعه کد بالا متغیر $num
در خارج از بدنه تابع تعریف شده است. بنابراین، این متغیر سراسری در نظر گرفته میشود. برای دسترسی به این متغیر درون بدنه تابع در شروع نام متغیر کلمه کلیدی global آورده شده است که امکان دسترسی به این متغیر سراسری را فراهم میکند. خروجی حاصل از اجرای قطعه کد بالا به صورت زیر خواهد بود.
Variable num inside function : 20 Variable num outside function : 20
متغیرهای ایستا در PHP
یکی از ویژگیهای زبان برنامه نویسی PHP این است که متغیرهای تعریف شده درون بدنه تابع را بعد از استفاده حذف و حافظه اشغال شده را نیز آزاد میکند. البته گاهی اوقات با توجه به برنامه نیاز است تا متغیرها را پس از اتمام اجرای تابع ذخیره کرد. برای این منظور باید متغیرهای مورد نظر را به صورت ایستا تعریف کرد. برای تعریف متغیر در PHP به صورت ایستا میتوان از کلمه کلیدی static قبل از نام متغیر استفاده کرد. قطعه کد زیر نحوه تعریف متغیرهای ایستا در PHP را نشان میدهد.
1<?php
2
3// Function to demonstrate static variables
4function static_var() {
5
6 // Static variable
7 static $num = 5;
8 $sum = 2;
9
10 $sum++;
11 $num++;
12
13 echo $num, "n";
14 echo $sum, "n";
15}
16
17// First function call
18static_var();
19
20// second function call
21static_var();
22
23?>
در مثال بالا متغیر $num
در بدنه تابع static_var()
به صورت ایستا تعریف شده است. در نتیجه، این متغیر بعد از اتمام اجرای تابع از حافظه حذف نخواهد شد. بنابراین، بعد فراخوانی دوباره تابع static_var()
مقدار قبلی موجود در متغیر $num
همچنان قابل دسترسی است. خروجی حاصل از اجرای قطعه کد بالا به صورت زیر خواهد بود.
6 3 7 3
انواع داده در PHP
نوع داده یکی از مفاهیم مهم در دنیای برنامه نویسی است. در واقع، استفاده از نوعهای دادهای به طبقهبندی اطلاعات در کامپیوتر کمک میکند. به زبان ساده نوع داده برای تفکیک اطلاعات قابل ذخیرهسازی در کامپیوتر مورد استفاده قرار میگیرد، زیرا کامپیوترها قابلیت درک تفاوت بین نوعهای مختلف متغیر را ندارند.
در همین راستا بیشتر زبانهای برنامه نویسی همچون «جاوا» (Java) و ++C امکان استفاده از نوعهای دادهای مختلف برای ذخیرهسازی متغیرها را فراهم کردهاند و نوع دادهای در زمان اعلان متغیر مشخص میشود. با این وجود زبان برنامه نویسی PHP تعریف روشنی از نوعهای دادهای ارائه نکرده است و نوع دادهای متغیر با توجه به مقدار اختصاص داده شده به آن تعیین میشود.
۸ نوع متغیر در PHP کدامند؟
با وجود این که زبان PHP تعریف روشنی از نوعهای دادهای ارائه نکرده است، اما امکان استفاده از نوعهای دادهای مختلف در این زبان برنامه نویسی وجود دارد. نوعهای دادهای برای اهداف مختلفی مورد استفاده قرار میگیرند. در زبان برنامه نویسی PHP امکان استفاده از هشت نوع دادهای اصلی برای متغیرها وجود دارد که در ادامه فهرستی از این نوعهای دادهای ارائه شده است.
در ادامه نوشته هر کدام از نوعهای دادهای ارائه شده در بالا به طور کامل همراه با مثال مورد بررسی قرار گرفته است.
متغیر عدد صحیح در PHP
اعداد صحیح در PHP تمام اعداد غیر اعشاری را در بر میگیرند. تمامی اعداد مثبت و منفی در زمره اعداد صحیح قرار دارند. اعداد صحیح به صورت پیشفرض در مبنای ۱۰ تعریف میشوند. در زبان برنامه نویسی PHP میتوان اعداد صحیح را در مبنای ۸ (Octal) و مبنای ۱۶ (Hexadecimal) نیز تعریف کرد. در ادامه برخی از نکات در خصوص تعریف متغیر در PHP از نوع دادهای عدد صحیح ارائه شده است.
- عدد صحیح میتواند مثبت یا منفی باشد.
- عدد صحیح نباید دارای بخش اعشاری باشد.
- اعداد صحیح تعریف شده در PHP میتوانند در مبنای ۱۰، مبنای ۸ یا مبنای ۱۶ تعریف شوند.
- محدود تعریف اعداد صحیح در PHP بین اعداد -2,147,483,648
و 2,147,483,647
قرار دارد.
قطعه کد زیر تعریف متغیر در PHP از نوع عدد صحیح در مبنای ۱۰، مبنای ۸ و مبنای ۱۶ را نشان میدهد.
1<?php
2 $dec1 = 34;
3 $oct1 = 0243;
4 $hexa1 = 0x45;
5 echo "Decimal number: " .$dec1. "</br>";
6 echo "Octal number: " .$oct1. "</br>";
7 echo "HexaDecimal number: " .$hexa1. "</br>";
8?>
خروجی حاصل از اجرای قطعه کد بالا به صورت زیر خواهد بود.
Decimal number: 34 Octal number: 163 HexaDecimal number: 69
با توجه به مثال ارائه شده در بالا برای تعریف عدد صحیح در مبنای ۸ باید یک عدد صفر (0) در ابتدای عدد قرار داد. همچنین، برای تعریف عدد صحیح در مبنای ۱۶ لازم است تا مقدار 0x را شروع عدد قرار دهیم.
متغیر عدد اعشاری در PHP
امکان تعریف اعداد اعشاری در PHP نیز وجود دارد. برای این منظور با توجه به قابلیت تشخیص خودکار نوع داده در PHP تنها کافی است تا بخش اعشاری عدد مورد نظر تعیین شود. قطعه کد زیر چند عدد اعشاری تعریف شده در PHP را نشان میدهد.
1<?php
2 $many = 2.2888800;
3 $many_2 = 2.2111200;
4 $few = $many + $many_2;
5
6 print("$many + $many_2 = $few <br>");
7?>
خروجی حاصل از قطعه کد بالا به صورت زیر خواهد بود.
2.28888 + 2.21112
متغیر رشته در PHP
متغیرهای رشتهای شامل مجموعهای از کاراکترها هستند. در واقع، یک متغیر رشتهای شامل حروف، اعداد و کاراکترهای خاص است. رشتهها میتوانند بدون کاراکتر (رشته خالی) یا دارای تعداد بسیار زیادی کاراکتر باشند.
برای تعریف متغیر از نوع رشته در PHP باید کاراکترها درون علامت نقل قول یا کوتیشن قرار گیرند. در قطعه کد زیر چند متغیر از نوع رشته در PHP تعریف شده است.
1<?php
2 $company = "Faradars";
3 //both single and double quote statements will treat different
4 echo "Hello $company";
5 echo "</br>";
6 echo 'Hello $company';
7?>
خروجی حاصل از اجرای قطعه کد بالا به صورت زیر خواهد بود.
Hello Faradars Hello $company
در مثال بالا متغیر $company
از نوع رشته تعریف شده است.
متغیر بولی در PHP
متغیرهایی با مقدار بولی تنها میتوانند دارا دو مقدار True و False باشند. این متغیرها دارای دو حالت درست یا نادرست هستند و در پیادهسازی ساختارهای شرطی کاربرد دارند. قطعه کد زیر نحوه کاربرد این نوع متغیرها در ساختارهای شرطی را نشان میدهد.
1<?php
2// ignore the if and else for now. We'll study more about them later.
3$foo = true;
4if ($foo) {
5 echo "this condition is true";
6} else {
7 echo "this condition is false";
8}
9?>
خروجی حاصل از اجرای قطعه کد بالا به صورت زیر خواهد بود.
this condition is true
متغیر آرایه در PHP
آرایهها یکی از مهمترین ساختمان دادههای موجود در دنیای برنامه نویسی هستند. به کمک آرایهها میتوان لیستی از عناصر چندگانه را درون یک متغیر واحد ذخیرهسازی کرد. عناصر آرایه به صورت جفتهای «کلید-مقدار» (Key-Value) ذخیره میشوند. برای تعریف متغیر در PHP از نوع آرایه به مثال زیر توجه کنید.
1
2<?php
3 $bikes = array ("Royal Enfield", "Yamaha", "KTM");
4 echo "Array Element1: $bikes[1] </br>";
5
6?>
عناصر موجود در آرایه به کمک «اندیس» (Index) مشخص میشوند. اولین عنصر موجود در آرایه دارای اندیس 0 است. به عنوان مثال، با فراخوانی $bikes[0]
میتوان به نخستین عنصر آرایه $bikes
دسترسی داشت. خروجی حاصل از اجرای قطعه کد بالا به صورت زیر خواهد بود.
Array Element1: Yamaha
آرایهها در زبان برنامه نویسی PHP علاوه بر کاربردهای متنوع انواع مختلفی نیز دارند. پیشتر در مطلب زیر از مجله فرادرس آرایههای PHP به طور کامل مورد بررسی قرار گرفتهاند.
متغیر Null در PHP
نوع داده Null برای نمایش نوع خاصی از متغیرها مورد استفاده قرار میگیرد. از این نوع داده برای نمایش متغیرهای خالی استفاده میشود. در واقع، متغیر از نوع Null دارای هیچ مقداری نیست. قطعه کد زیر نحوه تعریف متغیر در PHP از نوع داده Null را نشان میدهد.
1<?php
2 $var = NULL;
3 echo $var; //it will not give any output
4?>
در صورتی که متغیری بدون مقدار اولیه تعریف شود، آنگاه به صورت خودکار مقدار Null برای آن در نظر گرفته خواهد شد.
متغیر Object در PHP
زبان برنامه نویسی PHP از مفهوم «شیگرایی» (Object-Oriented) پشتیبانی میکند. بنابراین، با توجه به همین موضوع امکان تعریف کلاسهای مختلف در این زبان وجود دارد. «شیها» (Objects) نیز نمونههای پیادهسازی شده از کلاس هستند که تمام ویژگیهای کلاس را به ارث میبرند. قطعه کد زیر نحوه تعریف متغیر Object در PHP را نشان میدهد.
1<?php
2 class bike {
3 function model() {
4 $model_name = "Royal Enfield";
5 echo "Bike Model: " .$model_name;
6 }
7 }
8 $obj = new bike();
9 $obj -> model();
10?>
در مثال بالا کلاس bike
تعریف شده است. در ادامه نیز متغیر $obj
به عنوان نمونهای از این کلاس پیادهسازی شده است.
متغیر Resource در PHP
متغیرهایی از نوع Resource برای دسترسی به منابع خارجی مورد استفاده قرار میگیرند. به عنوان مثال، با تعریف متغیر در PHP از نوع Resource میتوان نمونهای از «پایگاه داده» (Database) را فراخوانی کرد. قطعه کد زیر مثالی در این خصوص را نشان میدهد.
1<?php
2
3$con = mysqli_connect("localhost", "root", "");
4
5?>
در مثال بالا متغیر $con
از نوع Resource تعریف شده است که امکان اتصال به بانک اطلاعاتی را فراهم میکند.
مهمترین نکات در خصوص متغیرهای PHP
بعد از تعریف متغیر و انواع آنها در PHP در این بخش به بررسی برخی از مهمترین نکات در خصوص کار با متغیرها خواهیم پرداخت. موارد مهمی همچون کپی کردن متغیرها در PHP، عملگر تخصیص مرجع در PHP و سایر موارد در این بخش بررسی شدهاند.
تجزیه متغیرها در رشتههای PHP
در زبان برنامه نویسی PHP امکان تجزیه متغیرها داخل رشتهها وجود دارد. این مورد بدین معنا است که میتوان متغیر را درون علامت نقل قول مربوط به رشته قرار داد. در این حالت کامپیوتر با رسیدن به متغیر موجود درون رشته مقدار آن را جایگزین میکند. برای درک بهتر مفهوم تجزیه متغیرها در رشتههای PHP قطعه کد زیر را در نظر بگیرید.
1$my_var = "cat";
2
3echo "There is one $my_var on the mat";
4
5echo "There are three {$my_var}s on the mat ";
در مثال بالا مقدار متغیر $my_var
درون رشتههای مشخص شده در پایین جایگزین خواهد شد. استفاده از کروشه در مثال دوم به کاهش پیچیدگی کد کمک میکند. در نهایت اجرای هر دو خط نتایج یکسانی خواهد داشت. خروجی حاصل از اجرای قطعه کد بالا به صورت زیر خواهد بود.
There is one cat on the mat There is one cat on the mat
الحاق رشتهها در PHP
در زبان PHP برای الحاق متغیرهایی از نوع رشته باید از عملگر .
استفاده کرد. برای این منظور باید عملگر .
را بین دو رشته یا دو متغیر از نوع رشته قرار داد. در این حالت رشتهها بدون فاصله به یکدیگر متصل میشوند. بنابراین، در صورت نیاز به درج فضای خالی بین متغیرها این مورد را باید به صورت دستی انجام داد. قطعه کد زیر نحوه الحاق دو متغیر از نوع رشتهای در PHP را نشان میدهد.
1$var1 = "Hello,";
2$var2 = " welcome to Codecademy!";
3
4echo $var1.$var2;
خروجی حاصل از اجرای قطعه کد بالا به صورت زیر خواهد بود.
Hello, welcome to Codecademy!
در مثال بالا دو متغیر رشتهای $var1
و $var2
با عملگر .
به یکدیگر الحاق شدهاند.
اضافه کردن به متغیر رشته در PHP
در زبان PHP برای اضافه کردن رشتهای جدید به انتهای رشته قبلی یک میانبر وجود دارد. این مورد به سادگی با عملگر انتساب الحاق رشته .=
قابل انجام است. این عملگر دو کار را به صورت همزمان انجام میدهد. در واقع، ابتدا مقدار سمت راست عملگر به مقدار سمت چپ اضافه شده و سپس نتیجه حاصل مجدداً به متغیر سمت چپ اختصاص داده میشود.
قطعه کد زیر نحوه عملکرد این عملگر را نشان میدهد.
1$str = "Hello, ";
2$str .= "World!";
3
4echo $str;
5// Output: Hello, World!
خروجی حاصل از اجرای قطعه کد بالا به صورت زیر خواهد بود.
Hello, World!
کپی کردن متغیر در PHP
در زبان PHP امکان اختصاص مقدار یک متغیر به متغیری دیگر وجود دارد. برای این منظور یک کپی از مقدار متغیر ایجاد و نام متغیر جدید به آن اختصاص داده میشود. در نتیجه، تغییرات در متغیر اصلی بر روی کپی ایجاد شده تاثیری نخواهد داشت و همچنین، تغییرات در کپی ایجاده شده بر روی متغیر اصلی بدون تاثیر است.
1$original = "Ice T";
2$copy = $original;
3$orginal = "Iced Tea";
4echo $copy;
خروجی حاصل از اجرای قطعه کد بالا به صورت زیر خواهد بود.
Ice T
در مثال بالا مقدار متغیر $original
درون متغیر $copy
قرار داده میشود. در نتیجه، با اجرای دستور echo $copy
عبارت Ice T
در خروجی چاپ خواهد شد.
پرش از کاراکترهای خاص رشته در PHP
در زبان PHP گاهی اوقات برخی از کاراکترهای خاص برای قرار گرفتن درون رشته باید حذف شوند. این کاراکترهای خاص با علامت
درون رشته مشخص میشوند. کاراکترهای خاص بسیاری وجود دارند که هر کدام عملکرد جداگانهای را انجام میدهند. به عنوان مثال، برای افزودن خط جدید به رشته میتوان از عبارت n
استفاده کرد. قطعه کد زیر این مورد را به خوبی نشان میدهد.
1echo "Hello, World!nThis is a String!";
خروجی قطعه کد بالا نیز به صورت زیر خواهد بود.
Hello, World! This is a String!
عملگر تخصیص مرجع در PHP
در زبان PHP عملگر تخصیص مرجع ( =&
) به منظور ایجاد متغیری جدید در مکان موجود از حافظه مورد استفاده قرار میگیرد. این عملگر در واقع ۲ متغیر ایجاد میکند که هر دو به یک مکان از حافظه اشاره میکنند. بنابراین، تغییرات یک متغیر بدون نیاز به کپی کردن دادههای آن بر روی متغیر دیگر تاثیر میگذارد.
1$var1 = 5;
2$var2 =& $var1;
3
4$var1 = 6;
5echo $var2;
در مثال بالا متغیر $var1
ایجاد شده است و متغیر جدید با نام $var2
با استفاده از عملگر تخصیص مرجع به مکان متغیر $var1
اشاره میکند. در ادامه مقدار جدیدی برای متغیر $var1
اختصاص داده شده است. در نهایت با چاپ متغیر $var2
خروجی به صورت زیر خواهد بود.
6
در مثال بالا متغیر $var2
بدون نیاز به کپی متغیرها به مقدار موجود در $var1
اشاره میکند.
تبدیل نوع متغیر در PHP
«تبدیل نوع» (Type Casting) در زبان PHP به فرایند تبدیل یک متغیر از یک نوع دادهای به نوع دادهای دیگر اشاره دارد. به زبان ساده این مفهوم اساسی در PHP به توسعهدهندگان امکان میدهد تا نوع داده متغیر را تغییر دهند. این مورد به توسعهدهندگان امکان میدهد تا به صورت صریح نوع داده مورد نظر خود را برای متغیرها تعریف کنند. در نتیجه، میتوان از عملکرد برنامه و محاسبات موجود در آن اطمینان حاصل کرد.
زبان برنامه نویسی PHP چندین تابع داخلی همچون (int)، (float)، (string)، (bool) و (array) را برای تبدیل نوع متغیرها به ترتیب به نوع دادههای عدد صحیح، عدد اعشاری، رشته، بولی و آرایه ارائه کرده است. تبدیل نوع متغیر در PHP در زمان کار با ورودیهای دریافتی کاربر، تعاملات با پایگاه داده و محاسبات ریاضی در برنامه اهمیت بسیاری دارد. در مجموع، تبدیل نوع در PHP برای اطمینان از یکپارچگی و سازگاری دادهها ضروری است. این مفهوم به توسعهدهندگان امکان میدهد تا دادههای ورودی کاربر را اعتبارسنجی کنند و محاسبات را نیز با دقت بیشتری انجام دهند.
تبدیل نوع متغیر در PHP به عدد صحیح
تبدیل نوع متغیر در PHP به عدد صحیح زمانی مورد استفاده قرار میگیرد که توسعهدهنده در برنامه به عدد صحیح نیاز دارد. زبان برنامه نویسی PHP چندین روش را برای تبدیل نوع متغیر به عدد صحیح ارائه کرده است. در ادامه روشهای تبدیل متغیر به عدد صحیح آورده شده است.
عملگر (int) یا (integer) برای تبدیل متغیر به عدد صحیح در PHP
برای تبدیل نوع داده متغیر در PHP به عدد صحیح میتوان از عملگرهای (int) و (integer) استفاده کرد. قطعه کد زیر نحوه استفاده از این عملگرها برای تبدیل نوع داده متغیر به عدد صحیح در PHP را نشان میدهد.
1$value = 10.5;
2$intValue = (int)$value;
3echo $intValue;
خروجی حاصل از اجرای قطعه کد بالا به صورت زیر خواهد بود.
10
در مثال بالا با استفاده از عملگر (int) نوع داده متغیر $value
به عدد صحیح تبدیل شده است. سپس این مقدار به متغیر $intValue
داده شده است.
تابع ()intval برای تبدیل متغیر به عدد صحیح در PHP
روش دیگر برای تبدیل نوع متغیر به عدد صحیح در زبان PHP استفاده از تابع ()intval است. این تابع یک مقدار را به عنوان پارامتر ورودی دریافت میکند و عدد صحیح را در خروجی بر میگرداند. قطعه کد زیر نحوه استفاده از این تابع را نشان میدهد.
1$value = "20";
2$intValue = intval($value);
3echo $intValue;
خروجی حاصل از اجرای قطعه کد بالا به صورت زیر خواهد بود.
20
در مثال بالا متغیر $value
دارای مقداری از نوع رشته است. سپس، با استفاده از تابع ()intval در PHP نوع دادهای این متغیر به عدد صحیح تغییر پیدا کرده است.
تابع ()settype برای تبدیل متغیر به عدد صحیح در PHP
سومین راهکار ارائه شده در زبان PHP برای تبدیل نوع متغیر به عدد صحیح استفاده از تابع ()settype است. با استفاده از این تابع میتوان به صورت مستقیم نوع داده متغیر را به عدد صحیح تبدیل کرد. قطعه کد زیر نحوه استفاده از این تابع در PHP را نشان میدهد.
1$value = "15";
2settype($value, "integer");
3echo $value; // Output: 15
تابع ()settype برای تبدیل نوع متغیر در PHP دو پارامتر را به عنوان ورودی دریافت میکند. پارامتر اول این تابع متغیر مورد نظر و پارامتر دوم نوع دادهای برای تبدیل است. در مثال بالا متغیر $value
و نوع دادهای integer
به تابع ارسال شده است. در نهایت خروجی حاصل از اجرای قطعه کد بالا به صورت زیر خواهد بود.
15
تبدیل نوع متغیر در PHP به عدد اعشاری
گاهی اوقات در برنامه به متغیرهایی با نوع دادهای اعشاری نیاز است. در همین راستا امکان تبدیل متغیر در PHP به عدد اعشاری وجود دارد. به چندین روش میتوان یک متغیر در PHP را به نوع دادهای اعشاری تبدیل کرد. در ادامه روشهای تبدیل متغیر به عدد اعشاری در PHP آورده شده است.
عملگر (float) یا (double) برای تبدیل متغیر به عدد اعشاری در PHP
با استفاده از عملگرهای (float) یا (double) امکان تبدیل نوع متغیر در PHP به عدد اعشاری وجود دارد. قطعه کد زیر نحوه تبدیل متغیر به عدد اعشاری با استفاده از عملگرهای مورد نظر را نشان میدهد.
1$value = "20.75";
2$floatValue = floatval($value);
3echo $floatValue;
خروجی حاصل از اجرای قطعه کد بالا به صورت زیر خواهد بود.
20.75
تابع ()floatval برای تبدیل متغیر به عدد اعشاری در PHP
روش دیگر برای تبدیل نوع دادهای یک متغیر در PHP به عدد اعشاری استفاده از تابع ()floatval است. این تابع یک متغیر را به عنوان پارامتر ورودی دریافت میکند و عدد اعشاری را در خروجی بر میگرداند. قطعه کد زیر نحوه استفاده از این تابع را نشان میدهد.
1$value = "20.75";
2$floatValue = floatval($value);
3echo $floatValue; // Output: 20.75
خروجی حاصل از اجرای قطعه کد بالا به صورت زیر خواهد بود.
20.75
در مثال بالا متغیر $value
از نوع رشته به عنوان پارامتر ورودی به تابع ()floatval ارسال شده است. بنابراین، نوع دادهای متغیر به عدد اعشاری تغییر پیدا کرده است.
تابع ()settype برای تبدیل متغیر به عدد اعشاری در PHP
همانند تبدیل متغیر به عدد صحیح میتوان از تابع ()settype برای تبدیل نوع داده به عدد اعشاری نیز استفاده کرد. قطعه کد زیر نحوه استفاده از این تابع برای تبدیل متغیر در PHP به عدد اعشاری را نشان میدهد.
1$value = "15.25";
2settype($value, "float");
3echo $value;
خروجی حاصل از اجرای قطعه کد بالا به صورت زیر خواهد بود.
15.25
در مثال بالا تابع ()settype پارامترهای $value
و float
را به عنوان ورودی دریافت میکند و در نتیجه، نوع متغیر را به عدد اعشاری تغییر میدهد.
تبدیل نوع متغیر در PHP به رشته
امکان تبدیل نوع دادهای متغیر به رشته در زبان PHP وجود دارد. متغیرهای رشتهای در برنامه نویسی کاربردهای زیادی دارند. از این متغیرها برای ذخیره اطلاعات متنی در برنامه میتوان استفاده کرد. برای تبدیل نوع دادهای متغیر در PHP به رشته چندین روش وجود دارد. در ادامه روشهای تبدیل نوع دادهای متغیر به رشته در PHP آورده شده است.
عملگر (string) برای تبدیل متغیر به رشته در PHP
با استفاده از عملگر (string) میتوان یک متغیر را به نوع دادهای رشته تبدیل کرد. قطعه کد زیر این مسئله را نشان میدهد.
1$value = 10;
2$stringValue = (string)$value;
3echo $stringValue;
خروجی حاصل از اجرای کد بالا به صورت زیر است.
10
در مثال بالا متغیر $value
با استفاده از عملگر (string) به نوع دادهای رشته در PHP تبدیل شده است. سپس، مقدار آن درون متغیر $stringValue
قرار داده شده است.
تابع ()strval برای تبدیل متغیر به رشته در PHP
روش دیگر برای تبدیل متغیر در PHP به نوع دادهای رشته استفاده از تابع ()strval است. این تابع یک پارامتر را به عنوان ورودی دریافت میکند و نوع دادهای آن را به رشته تغییر میدهد. کد زیر نحوه استفاده از این تابع در PHP را نشان میدهد.
1$value = 20.5;
2$stringValue = strval($value);
3echo $stringValue;
خروجی کد بالا نیز به صورت زیر خواهد بود.
20.5
تابع ()settype برای تبدیل متغیر به رشته در PHP
از تابع ()settype برای تبدیل نوع دادهای متغیر در PHP به رشته به صورت مستقیم میتوان استفاده کرد. در قطعه کد زیر با استفاده از این تابع نوع دادهای متغیر $value
به رشته تبدیل شده است.
1$value = 15;
2settype($value, "string");
3echo $value;
خروجی حاصل از اجرای قطعه کد بالا به صورت زیر خواهد بود.
15
در مثال بالا پارامترهای $value
و string
به عنوان ورودی به این تابع ارسال شدهاند. در نتیجه، نوع دادهای متغیر $value
به رشته تغییر پیدا کرده است.
تبدیل نوع متغیر در PHP به آرایه
با توجه به کاربردهای گسترده آرایهها در برنامه نویسی زبان PHP نیز امکان تبدیل نوع متغیر به آرایه را فراهم کرده است. همانند سایر نوعهای دادهای چندین روش برای تبدیل متغیر در PHP به نوع دادهای آرایه ارائه شده است. روشهای تبدیل نوع متغیر به آرایه به شرح زیر هستند.
عملگر (array) برای تبدیل متغیر به آرایه در PHP
از عملگر (array) برای تبدیل متغیر یا عبارت مورد نظر به نوع دادهای آرایه میتوان استفاده کرد. مثال زیر نحوه استفاده از این عملگر را نشان میدهد.
1$value = "Hello";
2$arrayValue = (array)$value;
3print_r($arrayValue);
خروجی قطعه کد بالا به صورت زیر خواهد بود.
Array([0] => Hello)
در مثال بالا متغیر $value
با استفاده از این عملگر به نوع داده آرایه تبدیل شده است. سپس، مقدار آن درون متغیر $arrayValue
قرار گرفته است.
تابع سازنده ()array برای تبدیل متغیر به آرایه در PHP
روشی دیگر برای تبدیل نوع متغیر در PHP به آرایه استفاده از تابع سازنده ()array است. این تابع نیز عملکردی مشابه عملگر (array) دارد. در ادامه، مثالی از نحوه عملکرد این تابع ارائه شده است.
1$value = 123;
2$arrayValue = array($value);
3print_r($arrayValue); // Output: Array([0] => 123)
خروجی مثال بالا به صورت زیر خواهد بود.
Array([0] => 123)
در مثال بالا متغیر $value
به عنوان پارامتر ورودی به تابع سازنده ()array ارسال شده است. بعد از تبدیل نوع دادهای متغیر $value
مقدار آن درون متغیر $arrayValue
ذخیره میشود.
تابع ()settype برای تبدیل متغیر به آرایه در PHP
به عنوان آخرین روش برای تبدیل نوع دادهای متغیر در PHP به آرایه میتوان از تابع ()settype استفاده کرد. این تابع متغیر را به صورت مستقیم به نوع دادهای آرایه تبدیل میکند. قطعه کد زیر نحوه پیادهسازی این تابع را نشان میدهد.
1$value = "world";
2settype($value, "array");
3print_r($value);
خروجی حاصل از اجرای قطعه کد بالا به صورت زیر خواهد بود.
Array([0] => world)
در مثال بالا پارامترهای $value
و array
به عنوان ورودی به تابع ()settype ارسال شدهاند. در نتیجه، نوع متغیر $value
به آرایه تغییر پیدا میکند.
سوالات متداول
در این بخش از نوشته متغیر در PHP سعی شده است تا به تعدادی از مهمترین و پرتکرارترین سوالات مربوط به متغیر در زبان برنامه نویسی PHP پاسخ داده شود.
چه نوع متغیرهایی در زبان PHP قابل استفاده هستند؟
PHP نیز همانند سایر زبانهایی برنامه نویسی از نوعهای دادهای مختلفی پشتیبانی میکند. در این زبان برنامه نویسی نیاز به تعیین نوع دادهای متغیر به صورت صریح نیست و مفسر زبان به صورت خودکار نوع متغیر را تعیین میکند. نوعهای دادهای قابل استفاده در این زبان برنامه نویسی به صورت زیر هستند. امکان استفاده از نوعهای دادهای رشته، عدد صحیح، عدد اعشاری، بولی، آرایه، تهی و سایر موارد در زبان برنامه نویسی PHP وجود دارد.
چگونه میتوان از مقداردهی شدن متغیرها در PHP اطمینان حاصل کرد؟
زبان برنامه نویسی PHP توابع مختلفی را با کاربردهای متنوع در اختیار برنامهنویسان قرار میدهد. برای بررسی مقداردهی شدن متغیر در PHP میتوان از تابع ()isset در این زبان استفاده کرد. با ارسال متغیر مورد نظر به عنوان پارامتر ورودی به این تابع میتوان از مقداردهی شدن آن مطلع شد. در صورت Null نبودن متغیر مورد نظر تابع مقدار True را به عنوان خروجی بر میگرداند. همچنین، در صورت Null بودن متغیر تابع مقدار False را برگشت میدهد. پیشتر در مطلب زیر از مجله فرادرس ۴۰ تابع مهم در زبان برنامه نویسی PHP به همراه مثال و کد مورد بررسی قرار گرفته است.
دلیل استفاده از متغیر در PHP چیست؟
همان طور که در ابتدا نوشته نیز عنوان شد، متغیرها مکانی نامگذاری شده در حافظه کامپیوتر هستند که برای ذخیرهسازی دادهها و اطلاعات برنامه مورد استفاده قرار میگیرند. همچنین، متغیرها با برچسبگذاری بر روی دادههای مورد استفاده در برنامه خوانایی کلی کد نوشته شده را افزایش میدهند. در واقع، مهمترین مورد استفاده متغیر در PHP کاربرد آن در ذخیرهسازی دادههای موجود در برنامه است.
منظور از محدوده متغیر در PHP چیست؟
محدوده متغیر در زبان برنامه نویسی PHP به بخش مشخصی از کد نوشته شده اشاره دارد که متغیر مورد نظر در آن بخش قابل دسترسی است. در واقع، محدوده مجاز استفاده از متغیر و انجام عملیات بر روی آن را تعیین میکند. به زبان ساده محدوده یا Scope متغیر در PHP بخشی از برنامه است که متغیر در آن تعریف شده و قابل دسترس است.
جمعبندی
یکی از گامهای ابتدایی در شروع یادگیری زبان برنامه نویسی PHP آشنایی با متغیرها و نحوه تعریف آنها است. برای تعریف متغیر در PHP کافی است تا قبل از نام متغیر از کاراکتر $
استفاده کنید. در زبان برنامه نویسی PHP تعیین نوع متغیر به صورت خودکار توسط خود زبان صورت میگیرد و نیازی به تعیین نوع به صورت صریح نیست. در مطلب فوق از مجله فرادرس تمام نکات مربوط به تعریف متغیر در PHP به صورت کامل به همراه مثالهای متنوع مورد بررسی قرار گرفت.
علاوه بر این، برای کاملتر شدن مبحث سعی شد تا نکات تکمیلی همچون تعیین نوع متغیر، کپی کردن متغیر، توابع مورد استفاده برای تبدیل نوع متغیر، تجزیه متغیرها در رشته و سایر موارد تکمیلی نیز بیان شود.
source