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

فهرست مطالب این نوشته

علاوه بر این، با مطالعه این مطلب با مباحث مهمی همچون قواعد نام‌گذاری متغیر، انواع متغیرها در PHP، تبدیل نوع متغیرها و سایر موارد مهم در این حوزه با مثال‌های متنوع آشنا خواهید شد.

متغیر در برنامه نویسی چیست؟

«متغیر» (Variable) در برنامه نویسی مکانی نام‌گذاری شده در حافظه کامپیوتر است که امکان ذخیره‌سازی داده‌ها در آن وجود دارد. در برنامه نویسی متغیر دارای مقداری است که با توجه به شرایط یا اطلاعات ارسال شده به برنامه می‌تواند تغییر کند.

به طور کلی یک برنامه کامپیوتری از ۲ بخش اصلی تشکیل می‌شود. بخش اول شامل دستورالعمل‌هایی است که نحوه اجرای دستورات را مشخص می‌کنند. بخش دوم نیز داده‌ها و مقادیری هستند که برنامه از آن‌ها استفاده می‌کند.

کاربرد متغیر در برنامه نویسی چیست؟

متغیرها در برنامه نویسی به منظور ذخیره‌سازی اطلاعات برنامه مورد استفاده قرار می‌گیرند. علاوه بر این، متغیرها با برچسب‌گذاری بر روی داده‌های مورد استفاده در برنامه موجب بهبود خوانایی برنامه می‌شوند. به زبان ساده در دنیای برنامه نویسی متغیر را می‌توان به عنوان ظرفی برای ذخیره‌سازی اطلاعات در نظر گرفت که هدف اصلی آن برچسب‌گذاری و ذخیره داده‌ها در حافظه است. همچنین، ذکر این نکته ضروری است که می‌توان از داده‌های ذخیره شده در متغیرها در سراسر برنامه استفاده کرد.

برنامه‌نویس نشسته پشت لپ‌تاپ و در حال فکر کردن به کاربردهای متغیر در PHP

تعریف متغیر در 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

محدوده متغیر در 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 تمام اعداد غیر اعشاری را در بر می‌گیرند. تمامی اعداد مثبت و منفی در زمره اعداد صحیح قرار دارند. اعداد صحیح به صورت پیش‌فرض در مبنای ۱۰ تعریف می‌شوند. در زبان برنامه نویسی 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 امکان تجزیه متغیرها داخل رشته‌ها وجود دارد. این مورد بدین معنا است که می‌توان متغیر را درون علامت نقل قول مربوط به رشته قرار داد. در این حالت کامپیوتر با رسیدن به متغیر موجود درون رشته مقدار آن را جایگزین می‌کند. برای درک بهتر مفهوم تجزیه متغیرها در رشته‌های 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 به عدد صحیح زمانی مورد استفاده قرار می‌گیرد که توسعه‌دهنده در برنامه به عدد صحیح نیاز دارد. زبان برنامه نویسی 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

توسط expressjs.ir