آرایه‌های چندگانه (چند بعدی)

همانطور که گفتیم آرایه‌ها فقط به صورت خطی مورد استفاده قرار نمی‌گیرند. یکی از بهترین قابلیت‌های پی‌اچ‌پی این است که شما می‌تواند آرایه‌هایی با بی‌نهایت بعد ایجاد کنید! خب این یعنی چه؟ بهتر است کار را با یک مثال دیگر ادامه دهیم:

فرض کنید شما داده‌های مرتبط با چند کاربر را از بانک داده گرفته‌اید و می‌خواهید آن‌ها مورد استفاده قرار دهید. در این حالت بهترین کار این است که اطلاعات مرتبط با هر کاربر در یک آرایه مختص به خود او قرار گیرد و بعد از اینکار براحتی می‌توان به هر مشخصه از هر کاربر دسترسی یافت. استفاده از آرایه‌های چند بعدی درست شبیه آرایه‌های دوبعدی است و فقط کمی مراحل در اینجا بیشتر خواهد شد.

<?php

$users = Array (“user1” => array (“name” => “mojtaba”, “fav” => “php”), “user2” => array (“naem” => “miaad”, “fav” => “zoomit”));

?>

همانطور که در کد بالا می‌بینید اینبار به جای اختصاص دادن یک داده در واقع یک آرایه به هر عضو اختصاص داده شده است. اگر کد بالا کمی شما را سردرگم کرده اصلا جای نگرانی نیست چرا که با چندبار تمرین واقعی و نوشتن کد به شما قول می‌دهم این مبحث را آنچنان خوب یاد می‌گیرید که فکرش را هم نمی‌کنید! پس همین حالا دست بکار شوید و همزمان با خواندن، آموزش کدها را بنویسید.

در کد بالا ما اطلاعات دو کاربر را که برای هر کدام شامل نام و علاقه وی می‌شود در آرایه‌ای به نام users قرار دادیم. اما برای دسترسی به هر عضو از این آرایه چگونه باید عمل کرد؟ فرض کنید می‌خواهیم نام کاربر اول را در خروجی چاپ کنیم. در این حالت باید از کد زیر استفاده کنیم:

<?php

$users = Array (“user1” => array (“name” => “mojtaba”, “fav” => “php”), “user2” => array (“naem” => “miaad”, “fav” => “zoomit”));

echo $users[‘user1’][‘name’]; //this will prints : mojtaba

?>

خب همانطور که دیدید در اینجا کافیست از دو ایندکس استفاده کنیم. ایندکس اول user1 است که به پی‌اچ‌پی می‌گوید در آرایه users به دنبال عضوی به نام user1 هستیم. سپس در ایندکس دوم به پی‌اچ‌پی میگوییم به دنبال مشخصه name از عضو انتخاب شده هستیم. در اینجا همانطور که در کد هم بخوبی مشخص شده خروجی mojtaba خواهد بود.

مبحث آرایه‌های چند بعدی همانطور که گفتیم فقط نیاز به تمرین دارد. اگر یادتان باشد در بخش آرایه‌های خطی مثال آوردیم تحت عنوان روش دیگر برای تمرین شما سعی کنید آن روش را برای آرایه‌های چند بعدی مثلا برای کد بالا مورد استفاده قرار دهید.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *