آشنایی با آرایه‌های Multidimensional (چندبُعدی) در زبان PHP


در مبحث معرفی آرایه‌ها گفتیم که مقادیر یک آرایه می‌تواند دیتاتایپ‌های مختلفی همچون استرینگ، بولین، عدد و ... باشد؛ لازم به ذکر است که به عنوان Value یک آرایه می‌توان از آرایه‌ای دیگر نیز استفاده کرد که در چنین مواقعی ما با یک آرایهٔ به اصطلاح Multidimensional (چندبُعدی) سروکار داریم. برای درک بهتر ساختار یک آرایهٔ چندبُعدی در زبان PHP، ابتدا آرایه‌ای حاوی اعداد فرد می‌سازیم:

$odds = [1, 3, 5];

سپس آرایهٔ دیگری تحت عنوان evens$ می‌سازیم که قرار است تعداد عدد زوج را در خود ذخیره سازد:

$evens = [2, 4, 6];

حال آرایهٔ دیگری می‌سازیم تحت عنوان both$ که مقادیرش برابر با آرایه‌هایی است که قبلاً تعریف کرده‌ایم:

<?php
$odds = [1, 3, 5];
$evens = [2, 4, 6];
$both = [$odds, $evens];
var_dump($both);

با استفاده دستور ()var_dump، مقادیر آرایهٔ both$ را پرینت می‌کنیم:

array(2) {
  [0]=>
  array(3) {
    [0]=>
    int(1)
    [1]=>
    int(3)
    [2]=>
    int(5)
  }
  [1]=>
  array(3) {
    [0]=>
    int(2)
    [1]=>
    int(4)
    [2]=>
    int(6)
  }
}

همان‌طور که ملاحظه می‌شود، آرایه‌ای داریم حاوی دو اندیس (0 و 1) که هر کدام از آن‌ها نیز حاوی سه عضو هستند. اصطلاحاً به چنین آرایه‌ای Multidimensional (چندبُعدی) گفته می‌شود که کاربردهای فراوانی در پیاده‌سازی پروژه‌های وب اپلیکیشن با زبان PHP دارا است.

دستیابی به اعضای یک آرایهٔ Multidimensional
به منظور دستیابی به اعضای یک آرایهٔ چندبُعدی، به راحتی می‌تواند شمارهٔ اندیس را فراخوانی کرد:

var_dump($both[0]);

اگر هم بخواهیم اولین اندیس از اندیس ۰ را به دست آوریم، به سادگی به صورت زیر عمل می‌کنیم:

var_dump($both[0][0]);

این خط از کد خروجی (int(1 را چاپ خواهد کرد. لازم به ذکر است که آرایه‌های چندبُعدی کاربردهای فراوانی دارند که در آموزش‌های آتی به صورت عملی بیشتر پیرامون این موضوع بحث خواهیم کرد.

دانلود فایل‌های تمرین


بهزاد مرادی

لیست نظرات
کاربر میهمان
دیدگاه شما چیست؟
کاربر میهمان
محسن
محسن
۱۳۹۷/۰۱/۳۱
آرایه های چندبعدی یا multidimensional arrays یکی از ویژگی های زبان php هستن، به طور کلی برای اینکه به یک عنصر در آرایه دست پیدا کنیم به تعداد ابعاد اون آرایه مقدار نیاز داریم
مثلا در آرایه های two-dimensional یا دوبعدی باید برای انتخاب عنصر مورد نظرمون، دو مشخصه رو ذکر کنیم و به همین ترتیب در three-dimensional یا آرایه های سه بعدی باید سه مشخصه رو ذکر کنیم
Insight
Insight
۱۳۹۷/۰۱/۳۱
موارد استفاده از آرایه‌‌های ۲بعدی کم نیست و در مواقعی هم ناچار به استفاده از آرایه‌های ۳بعدی هستیم اما معمولا درک ساختار آرایه‌های بیش از ۳ بعد سخته و عملا نیازی به اونها وجود نداره.
یک نکته مهم در مورد آرایه‌های چند بعدی نحوه‌ی ذخیره‌ شدن اونها در حافظه است. باید بدونیم که این نوع آرایه‌ها هم به صورت سطری یا ستونی در حافظه ذخیره میشن و اون تصور جدول‌مانندی که ما در ذهنمون داریم در حافظه‌ی رایانه پیاده نمیشه.
رضا سنگ‌سفیدی
رضا سنگ‌سفیدیطراح رابط کاربری/توسعه‌دهنده php
۱۳۹۶/۱۲/۱۴
استاد ما منتظریم...😄