آرایه های چند بعدی در php
در مقالات قبلی، در مورد آرایه هایی توضیح دادیم که به صورت جفت مرتب های key/value یا کلید/مقدار بودند. اما گاهی اوقات ما نیاز داریم تا مقادیری(values) را ذخیره کنیم که بیش از یک کلید(key) داشته باشند. برای انجام این کار، ما از آرایه های چند بعدی استفاده می کنیم.
بُعد یک آرایه مشخص می کند که برای انتخاب یک عنصر در آرایه، به چند اندیس نیاز داریم. بعنوان مثال:
- برای یک آرایه ی دو بُعدی ما به دو اندیس برای انتخاب یک عنصر نیاز داریم.
- برای یک آرایه ی سه بُعدی، ما به سه اندیس برای انتخاب یک عنصر نیاز داریم.
آموزش آرایه های دوبعدی در php
یک آرایه ی دو بُعدی، آرایه ای از آرایه ها است(یک آرایه ی سه بعدی، آرایه ی آرایه ی یک آرایه است). برای درک این موضوع به جدول زیر توجه کنید:
| نام | موجودی | فروخته شده |
|---|---|---|
| Volvo | 22 | 18 |
| BMW | 15 | 13 |
| Saab | 5 | 2 |
| Land Rover | 17 | 15 |
ما می توانیم داده های جدول بالا را در یک آرایه ی دو بعدی به صورت زیر ذخیره کنیم:
$cars = array (
array("Volvo",22,18),
array("BMW",15,13),
array("Saab",5,2),
array("Land Rover",17,15)
);
اکنون، آرایه ی دو بعدی cars$ حاوی چهار آرایه است، و دو اندیس دارد: ردیف و ستون. برای دسترسی به عناصر آرایه ی cars$ ما باید به دو اندیس توجه کنیم(اندیس ردیف یا row و اندیس ستون یا column.
مثال:
<!DOCTYPE html>
<html>
<body>
<?php
$cars = array (
array("Volvo",22,18),
array("BMW",15,13),
array("Saab",5,2),
array("Land Rover",17,15)
);
echo $cars[0][0].": In stock: ".$cars[0][1].", sold: ".$cars[0][2].".<br>";
echo $cars[1][0].": In stock: ".$cars[1][1].", sold: ".$cars[1][2].".<br>";
echo $cars[2][0].": In stock: ".$cars[2][1].", sold: ".$cars[2][2].".<br>";
echo $cars[3][0].": In stock: ".$cars[3][1].", sold: ".$cars[3][2].".<br>";
?>
</body>
</html>
خروجی:
Volvo: In stock: 22, sold: 18.
BMW: In stock: 15, sold: 13.
Saab: In stock: 5, sold: 2.
Land Rover: In stock: 17, sold: 15.
ما همچنین می توانیم یک حلقه ی for را در درون یک حلقه ی for دیگر قرار دهیم تا بر روی عناصر آرایه ی cars$ حلقه بزنند(ما هنوز هم باید از دو اندیس استفاده کنیم):
<!DOCTYPE html>
<html>
<body>
<?php
$cars = array (
array("Volvo",22,18),
array("BMW",15,13),
array("Saab",5,2),
array("Land Rover",17,15)
);
for ($row = 0; $row < 4; $row++) {
echo "<p><b>Row number $row</b></p>";
echo "<ul>";
for ($col = 0; $col < 3; $col++) {
echo "<li>".$cars[$row][$col]."</li>";
}
echo "</ul>";
}
?>
</body>
</html>
خروجی:
Row number 0
- Volvo
- 22
- 18
Row number 1
- BMW
- 15
- 13
Row number 2
- Saab
- 5
- 2
Row number 3
- Land Rover
- 17
- 15
{module کمک نقدی به نویسنده}
- بازدید: 617
1. سعی کنید نظرات شما مرتبط با مقاله ی مورد نظر باشد، در غیر این صورت پاسخ داده نخواهد شد.
2. سوالات خود را به صورت کوتاه بیان کنید و از پرسیدن چند سوال به طور همزمان خودداری کنید.
3. سوال خود را به طور واضح بیان کنید و از کلمات مبهم استفاده نکنید.