🐘 درس دوم: متغیرها، انواع داده و ثابتها در PHP
🎯 هدف این درس: در این درس یاد میگیریم چگونه اطلاعات را در PHP داخل متغیرها ذخیره کنیم، با انواع داده مختلف کار کنیم، مقدار متغیرها را تغییر دهیم، نوع داده را بررسی کنیم و با ثابتها آشنا شویم.
مهمان عزیز! 👋
به دومین درس از دوره جامع PHP، سطح اول (مبتدی) خوش آمدی.
در درس قبل محیط اجرای PHP را آماده کردیم، XAMPP را نصب کردیم و اولین فایل PHP خودمان را اجرا کردیم.
حالا میخواهیم یکی از پایهایترین و مهمترین مفاهیم برنامهنویسی را یاد بگیریم: متغیرها.
تصور کن در حال ساخت یک سایت فروشگاهی هستی. برنامه باید نام مشتری، قیمت محصول، تعداد کالا، وضعیت سفارش و اطلاعات زیادی را نگهداری کند.
اگر راهی برای ذخیره این اطلاعات نداشته باشیم، عملاً نمیتوانیم یک برنامه واقعی بسازیم.
متغیرها دقیقاً برای همین کار هستند. ما اطلاعات را داخل متغیرها قرار میدهیم و هر زمان که به آن اطلاعات نیاز داشتیم، از طریق نام متغیر به آن دسترسی پیدا میکنیم.
💡 یک تصویر ساده در ذهن داشته باش مهمان:
متغیر را مثل یک جعبه در نظر بگیر. برای جعبه یک نام انتخاب میکنیم و اطلاعات موردنظر را داخل آن قرار میدهیم.
بعداً میتوانیم با استفاده از همان نام، اطلاعات داخل جعبه را بخوانیم یا حتی مقدار جدیدی داخل آن قرار دهیم.
📦 بخش ۱: متغیر چیست؟
متغیر در PHP محلی برای نگهداری یک مقدار است.
این مقدار میتواند متن، عدد، مقدار منطقی، آرایه و انواع دیگری از داده باشد.
در PHP تمام متغیرها با علامت $ شروع میشوند.
سپس نام متغیر نوشته میشود و با استفاده از علامت = مقدار موردنظر را به آن اختصاص میدهیم.
ساختار کلی یک متغیر
ساختار متغیر
PHP
v8.2+
<?php
$name = "مهمان";
echo $name;
?>
در این مثال، متغیری به نام $name ایجاد کردیم و مقدار آن را داخل متغیر قرار دادیم.
سپس با استفاده از echo مقدار متغیر را نمایش دادیم.
⚠️ نکته مهم:
علامت = در اینجا به معنی «مساوی بودن» نیست؛ بلکه برای اختصاص دادن مقدار به متغیر استفاده میشود.
در درسهای بعدی با عملگرهای مقایسهای آشنا میشویم.
📝 بخش ۲: قوانین نامگذاری متغیرها
انتخاب نام مناسب برای متغیر فقط یک موضوع ظاهری نیست.
وقتی پروژه بزرگتر شود، نامگذاری درست باعث میشود کد را سریعتر بفهمی و راحتتر آن را مدیریت کنی.
- ✅ نام متغیر باید با علامت
$شروع شود. - ✅ بعد از
$میتوان از حروف انگلیسی، اعداد و_استفاده کرد. - ❌ نام متغیر نمیتواند با عدد شروع شود.
- ❌ استفاده از فاصله در نام متغیر مجاز نیست.
- ✅ PHP به حروف بزرگ و کوچک حساس است.
- ✅ بهتر است نام متغیر معنی مشخصی داشته باشد.
نامهای صحیح و غلط
نامگذاری متغیرها
PHP
v8.2+
<?php
// نامهای مناسب
$name = "مهمان";
$user_name = "مهمان";
$age = 28;
$user_age = 28;
$course_price = 499000;
// نامهای نامعتبر - فقط برای مشاهده
// $1name = "Test";
// $user name = "Test";
?>
💡 پیشنهاد حرفهای:
به جای نامهایی مثل $x یا $a، از نامهای توصیفی مانند
$user_name، $product_price و $course_title استفاده کن.
چند ماه بعد، خودت از این تصمیم تشکر خواهی کرد!
📊 بخش ۳: انواع داده در PHP
اطلاعاتی که در متغیرها ذخیره میکنیم همیشه یک شکل ندارند.
نام یک کاربر متن است، سن یک عدد است و وضعیت فعال بودن یک حساب کاربری میتواند مقدار درست یا غلط باشد.
PHP از انواع مختلف داده پشتیبانی میکند. در این مرحله مهمترین انواع دادهای که باید بشناسی عبارتاند از:
📋 مهمترین انواع داده
| نوع داده | کاربرد | مثال |
|---|---|---|
string |
متن | "PHP" |
integer |
عدد صحیح | 28 |
float |
عدد اعشاری | 19.99 |
boolean |
درست یا نادرست | true |
array |
مجموعهای از مقادیر | ["PHP", "HTML"] |
null |
بدون مقدار | null |
🔤 بخش ۴: رشتهها (String)
رشته یا string برای ذخیره متن استفاده میشود.
نام، ایمیل، عنوان محصول، توضیحات و بسیاری از اطلاعاتی که در سایتها میبینیم، معمولاً به شکل رشته ذخیره میشوند.
در PHP میتوانیم رشتهها را با کوتیشن تکی یا دوتایی بنویسیم.
رشتهها در PHP
PHP
v8.2+
<?php
$name = "مهمان";
$course = "دوره جامع PHP";
// کوتیشن دوتایی
echo "سلام $name عزیز!<br>";
// کوتیشن تکی
echo 'نام دوره: ' . $course . "<br>";
// اتصال رشتهها با عملگر نقطه
$message = "سلام " . $name . "!";
echo $message;
?>
💡 نکته کلیدی مهمان:
عملگر . در PHP برای اتصال رشتهها استفاده میشود.
این موضوع را در پروژههای واقعی، مخصوصاً هنگام ساخت خروجی HTML، بسیار زیاد خواهی دید.
🔢 بخش ۵: اعداد صحیح و اعشاری
برای ذخیره اعداد صحیح از integer و برای اعداد دارای بخش اعشاری از float استفاده میشود.
اعداد در PHP
PHP
v8.2+
<?php
$age = 28;
$student_count = 150;
$price = 499.99;
echo "سن: " . $age . "<br>";
echo "تعداد دانشجویان: " . $student_count . "<br>";
echo "قیمت: " . $price . " تومان";
?>
✅ بخش ۶: مقدارهای Boolean
نوع داده boolean فقط دو مقدار دارد:
true به معنی درست و false به معنی نادرست.
این نوع داده در برنامههای واقعی کاربرد بسیار زیادی دارد.
مثلاً میتوانیم مشخص کنیم یک کاربر فعال است یا خیر، یک محصول موجود است یا خیر یا یک سفارش پرداخت شده است یا خیر.
Boolean
PHP
v8.2+
<?php
$is_active = true;
$is_paid = false;
echo "وضعیت کاربر: " . ($is_active ? "فعال" : "غیرفعال") . "<br>";
echo "وضعیت پرداخت: " . ($is_paid ? "پرداخت شده" : "پرداخت نشده");
?>
🔄 بخش ۷: تغییر مقدار متغیر
یکی از ویژگیهای اصلی متغیر این است که مقدار آن میتواند در طول اجرای برنامه تغییر کند.
کافی است مقدار جدیدی به همان متغیر اختصاص دهیم.
تغییر مقدار متغیر
PHP
v8.2+
<?php
$score = 10;
echo "امتیاز اولیه: " . $score . "<br>";
$score = 20;
echo "امتیاز جدید: " . $score;
?>
💡 نکته مهم:
یک متغیر میتواند در طول اجرای برنامه چند بار مقداردهی شود.
مقدار جدید، مقدار قبلی را جایگزین میکند.
🔍 بخش ۸: تشخیص نوع داده با gettype()
گاهی لازم است بدانیم یک متغیر دقیقاً چه نوع دادهای دارد.
PHP برای این کار تابع gettype() را در اختیار ما قرار میدهد.
تشخیص نوع داده
PHP
v8.2+
<?php
$name = "مهمان";
$age = 28;
$price = 199.99;
$active = true;
echo "نوع name: " . gettype($name) . "<br>";
echo "نوع age: " . gettype($age) . "<br>";
echo "نوع price: " . gettype($price) . "<br>";
echo "نوع active: " . gettype($active);
?>
🔎 خروجی چه چیزی خواهد بود؟
برای متغیر اول مقدار string، برای متغیر دوم integer،
برای متغیر سوم double و برای متغیر چهارم boolean نمایش داده میشود.
📚 بخش ۹: آرایهها در یک نگاه
آرایه یا array به ما اجازه میدهد چند مقدار را در یک متغیر نگهداری کنیم.
چون آرایهها در درس ششم به صورت کامل بررسی خواهند شد، در این درس فقط با مفهوم اولیه آن آشنا میشویم.
آشنایی اولیه با Array
PHP
v8.2+
<?php
$courses = [
"PHP",
"HTML",
"CSS"
];
echo $courses[0];
?>
📌 فعلاً نگران آرایهها نباش.
در درس ششم به صورت کامل با آرایههای ایندکسی، انجمنی و چندبعدی کار خواهیم کرد.
📌 بخش ۱۰: مقدار NULL
گاهی لازم است مشخص کنیم یک متغیر در حال حاضر هیچ مقداری ندارد.
در PHP برای این حالت از null استفاده میکنیم.
NULL
PHP
v8.2+
<?php
$email = null;
echo "نوع داده: " . gettype($email);
?>
🔒 بخش ۱۱: ثابتها (Constants)
تا اینجا با متغیرها آشنا شدیم. اما گاهی مقداری داریم که نباید در طول اجرای برنامه تغییر کند.
برای چنین مقادیری میتوانیم از ثابت یا Constant استفاده کنیم.
برای تعریف ثابت میتوانیم از تابع define() استفاده کنیم.
برخلاف متغیرها، نام ثابت با علامت $ شروع نمیشود.
تعریف ثابت
PHP
v8.2+
<?php
define("SITE_NAME", "رجستری آکادمی");
define("SITE_VERSION", "1.0.0");
define("MAX_USERS", 1000);
echo SITE_NAME . "<br>";
echo SITE_VERSION . "<br>";
echo MAX_USERS;
?>
⚠️ متغیر یا ثابت؟
اگر مقدار قرار است در طول برنامه تغییر کند، متغیر انتخاب مناسبی است.
اگر مقدار باید ثابت بماند، میتوان از Constant استفاده کرد.
برای مثال نام سایت یا نسخه یک برنامه میتواند ثابت باشد.
🧪 بخش ۱۲: پروژه عملی درس
🚀 پروژه: ساخت کارت اطلاعات شخصی
حالا وقت آن است که مفاهیمی را که یاد گرفتیم کنار هم قرار دهیم.
برنامهای بنویس که اطلاعات یک کاربر را در متغیرها ذخیره کند و سپس یک خروجی مرتب نمایش دهد.
- نام کاربر
- سن
- شهر
- شغل
- وضعیت فعال بودن حساب
- نام سایت به عنوان یک ثابت
🔍 راهحل پروژه:
کارت اطلاعات شخصی
PHP
v8.2+
<?php
// تعریف اطلاعات کاربر
$name = "مهمان";
$age = 28;
$city = "قشم";
$job = "توسعهدهنده وب";
$is_active = true;
// تعریف ثابت
define("SITE_NAME", "رجستری آکادمی");
// نمایش اطلاعات
echo "<h2>" . SITE_NAME . "</h2>";
echo "<p><strong>نام:</strong> " . $name . "</p>";
echo "<p><strong>سن:</strong> " . $age . " سال</p>";
echo "<p><strong>شهر:</strong> " . $city . "</p>";
echo "<p><strong>شغل:</strong> " . $job . "</p>";
echo "<p><strong>وضعیت:</strong> " . ($is_active ? "فعال" : "غیرفعال") . "</p>";
?>
🎯 بخش ۱۳: تمرینهای عملی
تمرین شماره ۱: اطلاعات شخصی
پنج متغیر برای نام، سن، شهر، شغل و علاقهمندی خودت ایجاد کن و مقدار آنها را نمایش بده.
تمرین شماره ۲: اطلاعات محصول
متغیرهایی برای نام محصول، قیمت، تعداد موجودی و وضعیت موجود بودن محصول ایجاد کن.
سپس اطلاعات را نمایش بده.
تمرین شماره ۳: ثابت سایت
یک ثابت به نام SITE_NAME ایجاد کن و نام سایت موردنظر خودت را در آن ذخیره کن.
سپس آن را در خروجی نمایش بده.
🧠 چالش این درس:
یک برنامه کوچک بساز که اطلاعات یک محصول را نگهداری کند و با استفاده از متغیرها و یک ثابت،
یک معرفی کامل از محصول نمایش دهد.
🧩 جمعبندی درس
مهمان جان، در این درس یکی از پایههای اصلی برنامهنویسی با PHP را یاد گرفتی.
حالا میدانی اطلاعات چگونه در برنامه ذخیره میشوند و هر نوع داده چه کاربردی دارد.
- ✅ متغیر چیست و چگونه در PHP تعریف میشود.
- ✅ قوانین صحیح نامگذاری متغیرها را یاد گرفتی.
- ✅ با رشتهها، اعداد صحیح و اعشاری آشنا شدی.
- ✅ مفهوم مقدارهای Boolean را یاد گرفتی.
- ✅ با آرایهها در حد مقدماتی آشنا شدی.
- ✅ مفهوم
nullرا یاد گرفتی. - ✅ با تابع
gettype()نوع داده را بررسی کردی. - ✅ یاد گرفتی مقدار یک متغیر را تغییر بدهی.
- ✅ با مفهوم ثابتها و تابع
define()آشنا شدی.
🎯 نکتهای که باید قبل از رفتن به درس بعدی بلد باشی:
اگر بتوانی یک متغیر تعریف کنی، مقدار آن را تغییر بدهی، نوع داده آن را تشخیص بدهی و تفاوت متغیر و ثابت را توضیح بدهی،
پایه این درس را به خوبی یاد گرفتهای.
🚀 درس بعدی:
در درس سوم سراغ عملگرها در PHP میرویم.
با عملگرهای ریاضی، مقایسهای و منطقی کار خواهیم کرد و یاد میگیریم چطور روی دادهها عملیات انجام دهیم.



