راهنمای کامل PHP: از مقدمات تا پیشرفته در توسعه وب | جلسه دهم:انواع متغیر و تبدیل نوع
PHP

راهنمای کامل PHP: از مقدمات تا پیشرفته در توسعه وب | جلسه دهم:انواع متغیر و تبدیل نوع

متغیرها در PHP برای ذخیره‌سازی داده‌هایی استفاده می‌شوند که می‌توان به آن‌ها در سراسر برنامه دسترسی داشت و آن‌ها را تغییر داد. یک متغیر می‌تواند طیف گسترده‌ای از مقادیر را ذخیره کند، مانند اعداد، متن، آرایه‌ها و حتی اشیاء. یکی از ویژگی‌های منحصربه‌فرد PHP این است که یک زبان با نوع‌دهی پویا (loosely typed) است، به این معنا که هنگام ایجاد یک متغیر، نیازی به تعیین نوع داده برای آن ندارید. PHP نوع متغیر را بر اساس مقداری که به آن اختصاص داده شده، مشخص می‌کند.

این آزادی استفاده از PHP را، به‌ویژه برای مبتدیان، آسان‌تر می‌کند، زیرا به شما اجازه می‌دهد انواع مختلفی از داده‌ها را بدون نیاز به تعریف نوع آن‌ها، ذخیره و مدیریت کنید.

چگونه یک متغیر در PHP تعریف کنیم؟

برای تعریف یک متغیر در PHP، کافی است یک مقدار را با استفاده از علامت $ به متغیر اختصاص دهید و سپس نام متغیر را بنویسید. متغیرهای PHP به بزرگی و کوچکی حروف حساس هستند و باید با یک حرف یا خط زیر (_) شروع شوند، و می‌توانند شامل هر تعداد حروف، اعداد یا خطوط زیر باشند.

نحو (Syntax):

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
$variable_name = value;
$variable_name = value;
$variable_name = value;

مثال

در اینجا یک مثال آورده شده است که نشان می‌دهد چگونه می‌توان متغیرها را در PHP تعریف کرد:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
// A string value
$name = "John";
// A number (integer)
$age = 25;
// A decimal number (float)
$price = 12.50;
// A string value $name = "John"; // A number (integer) $age = 25; // A decimal number (float) $price = 12.50;
// A string value
 $name = "John";  
 
 // A number (integer)
 $age = 25;       
 
 // A decimal number (float)
 $price = 12.50;

قوانین متغیرها در PHP

در اینجا فهرستی از قوانین تعریف متغیر در PHP آورده شده است:

  1. یک متغیر باید با نماد $ شروع شود و سپس نام متغیر قرار گیرد.
  2. نام متغیر باید با یک حرف یا زیرخط (underscore یعنی _) آغاز شود.
  3. نام متغیر نمی‌تواند با عدد شروع شود.
  4. نام متغیر می‌تواند شامل حروف، ارقام یا زیرخط (_) باشد.
  5. PHP به بزرگی و کوچکی حروف حساس است، بنابراین $Name و $name دو متغیر متفاوت محسوب می‌شوند.

مثال به مثال زیر توجه کنید که نشان می‌دهد متغیرهای $Name و $name با هم متفاوت هستند و خروجی این کد چگونه است:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
$Name = "Amit";
$name = "Samay";
echo $Name;
echo $name;
$Name = "Amit"; $name = "Samay"; echo $Name; echo $name;
$Name = "Amit";
  $name = "Samay";
  echo $Name;  
  echo $name;

خروجی

نتیجه کد بالا به صورت زیر خواهد بود:

Amit  
Samay

انواع متغیرها در PHP

در PHP، انواع اصلی متغیرها عبارت‌اند از: رشته‌ای (String)، عدد صحیح (Integer)، عدد اعشاری (Float یا Double)، بولی (Boolean)، آرایه (Array)، شیء (Object)، تهی (NULL) و منبع (Resource). در ادامه مثال‌هایی از هر نوع متغیر آورده شده است:

  • رشته (String): دنباله‌ای از کاراکترها.
  • عدد صحیح (Integer): یک عدد کامل (بدون اعشار).
  • عدد اعشاری (Float یا Double): عددی با اعشار.
  • بولی (Boolean): نشان‌دهنده مقادیر true یا false.
  • آرایه (Array): مجموعه‌ای از چند مقدار که در یک متغیر ذخیره می‌شود.
  • NULL: نشان‌دهنده متغیری است که هیچ مقداری ندارد.

تبدیل خودکار نوع متغیرها

PHP در تبدیل خودکار نوع متغیرها، هنگام نیاز، عملکرد خوبی دارد. در کد زیر، PHP متغیر رشته‌ای "y" را به نوع int تبدیل می‌کند تا عملیات جمع با متغیر عدد صحیح دیگر انجام شده و نتیجه 30 چاپ شود.

به مثال زیر توجه کنید:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
<?php
$x = 10;
$y = "20";
echo "x + y is: ", $x+$y;
?>
<?php $x = 10; $y = "20"; echo "x + y is: ", $x+$y; ?>
<?php
   $x = 10;
   $y = "20";

   echo "x + y is: ", $x+$y;
?>

خروجی

خروجی کد بالا به صورت زیر خواهد بود:

x + y is: 30

مقداردهی به متغیرها به‌صورت مقداری

در PHP، متغیرها همیشه به‌صورت مقداری (by value) مقداردهی می‌شوند. اگر یک عبارت به یک متغیر اختصاص داده شود، مقدار آن عبارت به متغیر کپی می‌شود. اگر پس از این مقداردهی، مقدار هر یک از متغیرهای موجود در آن عبارت تغییر کند، تأثیری بر مقدار اختصاص‌ داده‌ شده ندارد.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
<?php
$x = 10;
$y = 20;
$z = $x+$y;
echo "(before) z = ". $z . "\n";
$y=5;
echo "(after) z = ". $z . "";
?>
<?php $x = 10; $y = 20; $z = $x+$y; echo "(before) z = ". $z . "\n"; $y=5; echo "(after) z = ". $z . ""; ?>
<?php
   $x = 10;
   $y = 20;
   $z = $x+$y;
   echo "(before) z = ". $z . "\n";

   $y=5;
   echo "(after) z = ". $z . "";
?>

خروجی

خروجی کد به صورت زیر خواهد بود:

(before) z = 30  
(after) z = 30

مقداردهی به متغیرهای PHP به‌صورت ارجاعی

شما همچنین می‌توانید به‌صورت ارجاعی (by reference) به متغیرهای PHP مقدار اختصاص دهید. در این حالت، متغیر جدید در واقع به متغیر اصلی ارجاع می‌دهد یا به عبارتی هم‌نام (alias) متغیر اصلی می‌شود و به آن اشاره می‌کند. بنابراین، تغییر در متغیر جدید باعث تغییر در متغیر اصلی می‌شود و بالعکس.

برای مقداردهی به‌صورت ارجاعی، کافی است قبل از متغیر مقصد (متغیر اصلی)، علامت & قرار دهید.

به مثال زیر توجه کنید:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
<?php
$x = 10;
$y = &$x;
$z = $x+$y;
echo "x=". $x . " y=" . $y . " z = ". $z . "\n";
$y=20;
$z = $x+$y;
echo "x=". $x . " y=" . $y . " z = ". $z . "";
?>
<?php $x = 10; $y = &$x; $z = $x+$y; echo "x=". $x . " y=" . $y . " z = ". $z . "\n"; $y=20; $z = $x+$y; echo "x=". $x . " y=" . $y . " z = ". $z . ""; ?>
<?php
   $x = 10;
   $y = &$x;
   $z = $x+$y;
   echo "x=". $x . " y=" . $y . " z = ". $z . "\n";

   $y=20;
   $z = $x+$y;
   echo "x=". $x . " y=" . $y . " z = ". $z . "";
?>

خروجی

خروجی مثال بالا به صورت زیر خواهد بود:

x = 10 y = 10 z = 20  
x = 20 y = 20 z = 40

دامنه (Scope) متغیر

دامنه (Scope) به معنای محدوده‌ای است که یک متغیر در آن قابل دسترسی و استفاده در برنامه می‌باشد. متغیرهای PHP می‌توانند یکی از چهار نوع دامنه زیر را داشته باشند:

  • متغیرهای محلی (Local Variables)
  • متغیرهای سراسری (Global Variables)
  • متغیرهای ایستا (Static Variables)
  • پارامترهای تابع (Function Parameters)
PHP از دستورات echo و print برای نمایش خروجی در مرورگر یا کنسول PHP استفاده می‌کند. هر دو ساختارهای زبان...
شناسه‌ها در ++C نام‌های منحصربه‌فردی هستند که برای شناسایی متغیرها، توابع، کلاس‌ها، آرایه‌ها و سایر آیتم‌های تعریف‌شده توسط کاربر در...
++C
کلمات کلیدی در C++ کلمات رزرو شده‌ای هستند که برای کامپایلر معنا و مفهوم خاصی دارند. این کلمات نمی‌توانند برای...
++C
ثابت‌ها به مقادیر ثابتی اشاره دارند که برنامه نباید آن‌ها را تغییر دهد و به آن‌ها لیترال (Literal) گفته می‌شود. ثابت‌ها می‌توانند...
C++ Programming Language
توکن‌های C++ کوچک‌ترین واحدهای مستقل در یک برنامه هستند که توسط کامپایلر شناسایی و پردازش می‌شوند. این توکن‌ها با هم...
C++ Programming Language
حذف فضای نام (Namespace) شما می‌توانید به‌صورت صریح از پیشوند std:: برای اشیاء و توابع کتابخانه استاندارد استفاده کنید، به‌جای اینکه از...
C++ Programming Language
1

پشتیبانی واتساپ هوش فعال