سرفصلهای پست
آموزش طراحی سایت با PHP – آرایه چندبعدی در PHP
سلام، در ادامه دورههای سایت میزفا با موضوع آموزش طراحی سایت با PHP به زبان ساده در خدمت شما دوستان عزیز هستیم، در قسمتهای قبل به موضوع آرایهها در PHP ، آرایههای عددی و همچنین آرایههای انجمنی پرداختیم، در این قسمت میخواهیم درباره آرایههای چند بعدی در پی اچ پی یا به انگلیسی Multi-Dimensional Arrays صحبت کنیم.
آرایه های چندبعدی (Multi-Dimensional Arrays)
یک آرایه چند بعدی، از یک یا بیش از یک آرایه را شامل میشود. در جلسات گذشته که درباره آرایه عددی و آرایه انجمنی صحبت کردیم از نوع آرایههای یک بعدی بودند و با داشتن یک index میتوانستیم به مقدار موجود در آرایه دستیابیم ولی در آرایههای مثلاً دوبعدی شما به دو index برای انتخاب یک مقدار یا عنصر نیاز دارید. یا در آرایههای سهبعدی شما به سه index برای انتخاب مقدار یا عنصر نیاز دارید.
[box type=”note”]مدیریت و نحوه استفاده از آرایههایی با عمق بیش از سه سطح دشوار است.[/box]
مثال اول از آرایه دوبعدی
بیایید یک آرایه دوبعدی ایجاد کنیم که شامل سه آرایه باشد.
$people = array( 'online'=>array('David', 'Amy'), 'offline'=>array('John', 'Rob', 'Jack'), 'away'=>array('Arthur', 'Daniel') );
در مثال بالا آرایه دوبعدی people دارای سه آرایه میباشد و دو index لازم است برای دسترسی به مقادیر آرایهها. به منظور دسترسی به مقادیر array در آرایه people باید به دو index نیز اشاره کنیم همانند مثال پایین:
echo $people['online'][0]; //Outputs "David" echo $people['away'][1]; //Outputs "Daniel"
نحوه صدا زدن در آرایههای دوبعدی شبیه ردیف و ستون میباشد یعنی مثلا ما در مثال بالا ردیف اول online را صدا زده و سپس ستون اول با index صفر را درج کردیم.
[box type=”note”]توجه داشته باشید که در آرایه های چندبعدی میتوان از آرایه های عددی و همچنین از آرایه های انجمنی استفاده کرد مثلا در مثال بالا آرایه بیرونی از نوع آرایه انجمن است و دارای index ها با نام گذاری دلخواه میباشد مانند online ولی آرایه درونی نیز از نوع آرایه عددی است به همین دلیل است که وقتی ما قصد استفاده از مقادیر آرایه را داریم ابتدا در اولین index نام درج کرده و سپس در index بعدی عددی را مینویسیم[/box]
مثال دوم از آرایه دوبعدی
یک مثال جامع از آرایه دوبعدی که سایت w3schools زده بود را برای شما دوستان اوردیم
نام شرکت | سهام | فروخته شده |
---|---|---|
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) );
و نحوه خروجی گرفتن از آرایه بالا به شکل زیر است:
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>";
دستور For برای ساختن جدول به کمک آرایه
اگر درباره دستور for چیزی نمیدانید نگران نباشید در جلسات بعد به شکل کامل آموزش خواهیم داد، ما قصد داریم مراحل بالا را برعکس کنیم و به کمک آرایه یک جدول بسازیم، در مثالهای بالا به کمک جدول آرایه ساختیم ولی حال به کمک دستور for و همچنین آرایه دوبعدی قصد داریم در خروجی یک جدول (لیست) بسازیم
<?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>"; } ?>
خروجی دستورات بالا:
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
به کمک CSS میتوانید استایل لیست را تغییر داده و همانند جدول نمایید.
این جلسه هم به پایان رسید اگر سوالی داشتید حتما در نظرات میزفا مطرح کنید. در این دوره آموزش پی اچ پی با ما همراه باشید و در آینده نزدیک درخواهید یافت که یادگیری PHP چقدر آسان هست و چه مزیتهایی میتواند در کسبوکار شما داشته باشد.