🐘 درس ششم: آرایهها در PHP
🎯 هدف این درس: آشنایی کامل با آرایهها در PHP، آرایههای ایندکسی، انجمنی و چندبعدی و یادگیری روش دسترسی، افزودن، حذف و پیمایش دادهها
مهمان عزیز! 👋
به درس ششم از دوره جامع PHP، سطح اول (مبتدی) خوش آمدی.
تا اینجا با متغیرها، انواع داده، عملگرها، شرطها و حلقهها آشنا شدی.
حالا وقت آن رسیده که یکی از مهمترین ابزارهای PHP را یاد بگیری: آرایهها (Arrays).
تصور کن میخواهی نام ۱۰۰ دانشجو را در برنامه ذخیره کنی. اگر برای هر دانشجو یک متغیر جداگانه بسازی،
خیلی زود کدت شلوغ و مدیریت آن سخت میشود.
آرایه دقیقاً برای حل چنین مسئلهای ساخته شده است.
💡 یک تعریف ساده:
آرایه مجموعهای از چند مقدار است که میتوانیم آنها را در یک متغیر نگهداری و مدیریت کنیم.
📦 بخش ۱: آرایه چیست؟
فرض کن سه نام داریم:
- علی
- مریم
- رضا
میتوانیم آنها را در سه متغیر جداگانه قرار دهیم، اما روش بهتر استفاده از یک آرایه است.
اولین آرایه
PHP
v8.2
<?php
$students = [
"علی",
"مریم",
"رضا"
];
echo $students[0] . "<br>";
echo $students[1] . "<br>";
echo $students[2];
?>
⚠️ نکته مهم مهمان:
شمارهگذاری آرایههای ایندکسی معمولاً از 0 شروع میشود، نه از 1.
بنابراین اولین عنصر آرایه در موقعیت 0 قرار دارد.
🔢 بخش ۲: آرایه ایندکسی (Indexed Array)
سادهترین نوع آرایه، آرایه ایندکسی است.
در این نوع آرایه، هر مقدار با یک شماره یا Index شناسایی میشود.
| Index | مقدار |
|---|---|
0 |
PHP |
1 |
HTML |
2 |
CSS |
دسترسی به عناصر آرایه
دسترسی به عناصر آرایه
PHP
v8.2
<?php
$courses = [
"PHP",
"HTML",
"CSS",
"JavaScript"
];
echo "اولین دوره: " . $courses[0] . "<br>";
echo "دومین دوره: " . $courses[1] . "<br>";
echo "آخرین دوره: " . $courses[3];
?>
افزودن مقدار جدید به آرایه
برای اضافه کردن یک مقدار جدید به انتهای آرایه میتوانیم از [] استفاده کنیم.
افزودن مقدار
PHP
v8.2
<?php
$courses = [
"PHP",
"HTML"
];
$courses[] = "CSS";
$courses[] = "JavaScript";
print_r($courses);
?>
🗝️ بخش ۳: آرایه انجمنی (Associative Array)
گاهی اوقات شماره برای دسترسی به یک مقدار چندان معنیدار نیست.
مثلاً اگر بخواهیم اطلاعات یک کاربر را ذخیره کنیم، بهتر است به جای 0 و 1 از کلیدهایی مثل
name، email و age استفاده کنیم.
آرایه انجمنی
PHP
v8.2
<?php
$student = [
"name" => "مهمان",
"age" => 28,
"course" => "PHP",
"active" => true
];
echo "نام: " . $student["name"] . "<br>";
echo "سن: " . $student["age"] . "<br>";
echo "دوره: " . $student["course"] . "<br>";
?>
💡 نکته کلیدی مهمان:
آرایههای انجمنی در پروژههای واقعی بسیار پرکاربرد هستند؛ مخصوصاً هنگام کار با اطلاعات کاربران، محصولات، تنظیمات و دادههای پایگاه داده.
🧹 بخش ۴: تغییر و حذف عناصر آرایه
آرایهها ثابت نیستند. میتوانیم مقدار یک عنصر را تغییر دهیم یا یک عنصر را حذف کنیم.
تغییر و حذف
PHP
v8.2
<?php
$courses = [
"PHP",
"HTML",
"CSS"
];
// تغییر مقدار
$courses[1] = "JavaScript";
// حذف عنصر
unset($courses[2]);
print_r($courses);
?>
⚠️ توجه:
بعد از استفاده از unset() ممکن است بین شمارههای آرایه فاصله ایجاد شود.
برای مرتبسازی مجدد شمارهها میتوان از array_values() استفاده کرد.
🔄 بخش ۵: پیمایش آرایه با foreach
یکی از مهمترین کاربردهای آرایهها، پردازش تکتک عناصر آنهاست.
برای این کار، foreach یکی از بهترین ابزارها در PHP است.
حلقه foreach
PHP
v8.2
<?php
$courses = [
"PHP",
"HTML",
"CSS",
"JavaScript"
];
foreach ($courses as $course) {
echo "دوره: " . $course . "<br>";
}
?>
دریافت کلید و مقدار در آرایه انجمنی
در آرایههای انجمنی میتوانیم همزمان کلید و مقدار را دریافت کنیم.
کلید و مقدار
PHP
v8.2
<?php
$student = [
"name" => "مهمان",
"age" => 28,
"city" => "قشم"
];
foreach ($student as $key => $value) {
echo $key . ": " . $value . "<br>";
}
?>
🧩 بخش ۶: آرایه چندبعدی
گاهی اوقات اطلاعات ما ساختار پیچیدهتری دارند.
مثلاً میخواهیم اطلاعات چند دانشجو را ذخیره کنیم و برای هر دانشجو نام، سن و دوره را داشته باشیم.
در چنین شرایطی میتوانیم از آرایه چندبعدی استفاده کنیم.
آرایه چندبعدی
PHP
v8.2
<?php
$students = [
[
"name" => "علی",
"age" => 22,
"course" => "PHP"
],
[
"name" => "مریم",
"age" => 25,
"course" => "HTML"
]
];
echo "نام دانشجو: " . $students[0]["name"] . "<br>";
echo "دوره دانشجو: " . $students[0]["course"];
?>
🛠️ بخش ۷: توابع پرکاربرد آرایهها
PHP تعداد زیادی تابع آماده برای کار با آرایهها دارد.
در این مرحله لازم نیست همه آنها را حفظ کنی، اما چند تابع پرکاربرد را بهتر است از همین حالا بشناسی.
| تابع | کاربرد |
|---|---|
count() |
تعداد عناصر آرایه |
print_r() |
نمایش ساختار آرایه |
sort() |
مرتبسازی آرایه |
array_push() |
افزودن عنصر به انتهای آرایه |
array_pop() |
حذف آخرین عنصر |
in_array() |
بررسی وجود یک مقدار |
توابع آرایه
PHP
v8.2
<?php
$courses = [
"PHP",
"HTML",
"CSS"
];
echo "تعداد دورهها: " . count($courses) . "<br>";
$courses[] = "JavaScript";
if (in_array("PHP", $courses)) {
echo "دوره PHP در لیست وجود دارد.<br>";
}
sort($courses);
echo "آرایه مرتبشده:<br>";
print_r($courses);
?>
📝 پروژه عملی: مدیریت فهرست دورهها
🎯 پروژه: فهرست دورههای آموزشی
یک برنامه ساده بنویس که چند دوره آموزشی را در یک آرایه ذخیره کند، تعداد دورهها را نمایش دهد،
یک دوره جدید اضافه کند و در نهایت همه دورهها را با foreach نمایش دهد.
🔍 راهحل پروژه:
مدیریت دورهها
PHP
v8.2
<?php
$courses = [
"PHP مقدماتی",
"HTML و CSS",
"JavaScript"
];
$courses[] = "WordPress";
echo "<h2>📚 دورههای آموزشی</h2>";
echo "<p>تعداد دورهها: " . count($courses) . "</p>";
echo "<ul>";
foreach ($courses as $index => $course) {
$number = $index + 1;
echo "<li>" . $number . ". " . $course . "</li>";
}
echo "</ul>";
?>
🎯 تمرینهای عملی
تمرین شماره ۱: فهرست نامها
آرایهای شامل حداقل پنج نام بساز و با استفاده از foreach همه نامها را نمایش بده.
تمرین شماره ۲: اطلاعات یک کاربر
یک آرایه انجمنی بساز و اطلاعاتی مانند نام، سن، ایمیل و شهر را در آن قرار بده.
سپس اطلاعات را با foreach نمایش بده.
تمرین شماره ۳: آرایه چندبعدی
اطلاعات سه دانشجو را در یک آرایه چندبعدی ذخیره کن.
برای هر دانشجو نام، سن و دوره آموزشی را نگهداری کن و سپس اطلاعات همه دانشجویان را نمایش بده.
🧠 نکات کلیدی این درس
- ✅ آرایه برای نگهداری چند مقدار در یک متغیر استفاده میشود.
- ✅ در آرایههای ایندکسی، شمارهگذاری از
0شروع میشود. - ✅ آرایه انجمنی از کلید و مقدار تشکیل میشود.
- ✅ آرایه چندبعدی برای نگهداری دادههای ساختاریافته و تو در تو کاربرد دارد.
- ✅ با
foreachمیتوان عناصر آرایه را بهسادگی پیمایش کرد. - ✅ با
count()میتوان تعداد عناصر آرایه را به دست آورد. - ✅ با
unset()میتوان یک عنصر را حذف کرد. - ✅ آرایهها یکی از مهمترین ابزارهای مدیریت داده در پروژههای PHP هستند.
در درس بعدی سراغ توابع در PHP میرویم و یاد میگیریم چطور بخشهای تکراری کد را به ساختارهایی قابل استفاده مجدد تبدیل کنیم.



