متغیرها

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

نحوه ساختن متغیر

  • در زبان PHP برای تعریف متغیر از علامت دلار $ استفاده می‌کنیم.
  • علامت $ باید بلافاصله قبل از نام متغیر و بدون فاصله قرار بگیرد.
<?php

$x = 5;

$y = "Ali";

echo $x;
echo $y;

نکته: برای مقداردهی به متغیرها از عملگر انتساب = استفاده می‌کنیم.

  • برای قرار دادن یک متن در متغیر، معمولاً متن را داخل کوتیشن قرار می‌دهیم.
$name = "Ali";

نام‌گذاری متغیرها

  • نام متغیر می‌تواند کوتاه باشد، مانند $x و $y.
  • بهتر است نام متغیر متناسب با کاربرد آن انتخاب شود تا مشخص باشد چه اطلاعاتی را نگهداری می‌کند.

برای مثال، اگر متغیری برای نگهداری سن یک فرد داشته باشیم، می‌توانیم نام آن را $age انتخاب کنیم.

قواعد نام‌گذاری متغیرها

  • نام متغیر باید با یک حرف انگلیسی یا آندرلاین _ شروع شود.
  • نام متغیر می‌تواند شامل حروف انگلیسی، اعداد و آندرلاین _ باشد.
  • نام متغیر نمی‌تواند با عدد شروع شود.
  • در نام متغیر فاصله مجاز نیست.
  • نام متغیرها به کوچک و بزرگ بودن حروف حساس است.

برای مثال:

<?php

$name1 = "Ali";
$name2 = "Hasan";

echo $name1 . " " . $name2;

$adad1 = 12;
$adad2 = 46;

echo $adad1 . " " . $adad2;

// این نام متغیر اشتباه است، زیرا با عدد شروع شده است.
$25name = "Tom";

نام‌هایی مانند $my_class_number نیز معتبر هستند:

$my_class_number = 304;

نکته: اگرچه نام متغیر می‌تواند با آندرلاین _ شروع شود، بهتر است برای نام‌گذاری معمول متغیرها از این روش استفاده نکنیم.

حساسیت به حروف کوچک و بزرگ

نام متغیرها در PHP به حروف کوچک و بزرگ حساس است.

برای مثال، $color، $COLOR و $coLOR سه متغیر متفاوت هستند.

<?php

$color = "red";

echo "My car is " . $color . "<br>";

echo "My house is " . $COLOR . "<br>";

echo "My boat is " . $coLOR . "<br>";

در این مثال فقط $color دارای مقدار "red" است. متغیرهای $COLOR و $coLOR با $color متفاوت هستند و قبلاً مقداردهی نشده‌اند.


خروجی گرفتن از متغیرها

  • با استفاده از echo می‌توان مقدار یک متغیر را در خروجی نمایش داد.
  • می‌توان مقدار متغیر را در کنار متن نیز نمایش داد.

استفاده از متغیر داخل متن

اگر متن را با دابل کوتیشن " بنویسیم، PHP می‌تواند مقدار متغیر را درون متن قرار دهد.

<?php

$class_number = 304;

echo "من در کلاس شماره $class_number درس می‌خوانم";

خروجی:

من در کلاس شماره 304 درس می‌خوانم

اما اگر از سینگل کوتیشن ' استفاده کنیم، مقدار متغیر جایگزین نمی‌شود:

<?php

$class_number = 304;

echo 'من در کلاس شماره $class_number درس می‌خوانم';

در این حالت، $class_number به همان شکل در خروجی نمایش داده می‌شود.

نکته: برای ایجاد خط جدید در خروجی HTML می‌توان از <br> استفاده کرد.

echo "<br>";

استفاده از نقطه برای ترکیب متن و متغیرها

می‌توان با استفاده از عملگر نقطه . چند متن و مقدار متغیر را در یک دستور echo به یکدیگر متصل کرد.

<?php

$name = "محمدرضا شجریان";
$year_of_death = 1399;

echo "استاد موسیقی " . $name . "، خواننده بزرگ سبک سنتی، در سال " . $year_of_death . " از دنیا رفت.";

در این مثال، نقطه . برای اتصال چند بخش به یکدیگر استفاده شده است.


انجام محاسبات با متغیرها

با استفاده از echo می‌توان نتیجه محاسبات روی متغیرها را نیز نمایش داد.

<?php

$x = 5;
$y = 4;

echo $x + $y;

خروجی:

9

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

PHP یک زبان با نوع‌دهی پویا (Dynamically Typed) است. یعنی هنگام تعریف متغیر، معمولاً لازم نیست نوع داده آن را به صورت جداگانه مشخص کنیم.

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

برای مثال:

<?php

$x = 5;        // عدد صحیح (Integer)

$y = "John";   // رشته (String)

echo $x;
echo $y;

در این مثال، PHP تشخیص می‌دهد که $x یک عدد صحیح و $y یک رشته است.

همچنین نوع داده یک متغیر می‌تواند در طول اجرای برنامه تغییر کند:

<?php

$x = 5;

$x = "John";

echo $x;

در این مثال، ابتدا مقدار $x یک عدد است، اما بعداً یک رشته در آن قرار داده شده است.


مقداردهی همزمان چند متغیر

می‌توان یک مقدار را به چند متغیر به صورت همزمان نسبت داد.

<?php

$x = $y = $z = "Fruit";

در این مثال، مقدار هر سه متغیر برابر با "Fruit" خواهد بود.

$x → Fruit
$y → Fruit
$z → Fruit

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

متغیرها در PHP دارای دامنه (Scope) هستند. دامنه مشخص می‌کند که یک متغیر در کدام قسمت‌های برنامه قابل دسترسی است.

برای ساده‌تر شدن یادگیری، مبحث دامنه متغیرها را فعلاً بررسی نمی‌کنیم. این موضوع در درس‌های آینده، هنگام آموزش توابع (Functions)، توضیح داده خواهد شد.