কম্পিউটার টিউটোরিয়াল

PHP মাল্টিডাইমেনশনাল অ্যারে (Multidimensional Array)


সংজ্ঞা এবং ব্যবহার

PHP-তে একটি মাল্টিডাইমেনশনাল অ্যারেকে অ্যারে অফ অ্যারে (array of arrays) হিসেবে বিবেচনা করা হয়, যেখানে প্রতিটি এলিমেন্ট নিজে একটি অ্যারে। মাল্টিডাইমেনশনাল অ্যারের অভ্যন্তরীণ এলিমেন্টগুলো অ্যাসোসিয়েটিভ বা ইনডেক্সড হতে পারে।

যদিও অ্যারে যেকোনো লেভেল পর্যন্ত নেস্ট করা যায়, কিন্তু বাস্তব ব্যবহারে আউটারমোস্ট অ্যারের ভেতরে একাধিক ডাইমেনশনাল অ্যারে থাকা টু-ডাইমেনশনাল অ্যারে বেশি ব্যবহারিক।

সিনট্যাক্স

// টু-ডাইমেনশনাল অ্যাসোসিয়েটিভ অ্যারে
$twodim = array(
    "row1"=>array(k1=>v1,k2=>v2,k3=>v3),
    "row2"=>array(k4=>v4,k5=>v5,k6=>v6)
);
// টু-ডাইমেনশনাল ইনডেক্সড অ্যারে
$twodim=array(
    array(v1,v2,v3),
    array(v4,v5,v6)
)

ইনডেক্সড টু-ডাইমেনশনাল অ্যারেতে একটি এলিমেন্ট এর ইনডেক্স দিয়ে এক্সেস করার সিনট্যাক্স—

$arr[row][column];

PHP ভার্সন

অ্যারে অ্যাসাইনমেন্টে স্কোয়ার ব্র্যাকেট [[]] ব্যবহার PHP 5.4 থেকে উপলব্ধ।

নিচের উদাহরণে ইনডেক্সড ২ডি অ্যারে দেখানো হয়েছে যেখানে প্রতিটি এলিমেন্ট ইনডেক্সড অ্যারে—

উদাহরণ

<?php $arrs=array(
    array(1,2,3,4,5),
    array(11,22,33,44,55),
);
foreach ($arrs as $arr){
    foreach ($arr as $i){
        echo $i . " ";
    }
    echo "\n";
}
$cols=count($arrs[0]);
$rows=count($arrs);
for ($i=0; $i<$rows; $i++){
    for ($j=0;$j<$cols;$j++){
        echo $arrs[$i][$j] . " ";
    }
    echo "\n";
} ?>

আউটপুট

এটি নিচের ফলাফল দেবে—

1 2 3 4 5 11 22 33 44 55 1 2 3 4 5 11 22 33 44 55

নিচের উদাহরণে ইনডেক্সড ২ডি অ্যারে আছে যার এলিমেন্টগুলো অ্যাসোসিয়েটিভ অ্যারে—

উদাহরণ

<?php $arrs=array(
    array(1=>100, 2=>200, 3=>300),
    array(1=>'aa', 2=>'bb', 3=>'cc'),
);
foreach ($arrs as $arr){
    foreach ($arr as $i=>$j){
        echo $i . "->" .$j . " ";
    }
    echo "\n";
}
for ($row=0; $row < count($arrs); $row++){
    foreach ($arrs[$row] as $i=>$j){
        echo $i . "->" .$j . " ";
    }
    echo "\n";
} ?>

আউটপুট

এটি নিচের ফলাফল দেবে—

1->100 2->200 3->300 1->aa 2->bb 3->cc 1->100 2->200 3->300 1->aa 2->bb 3->cc }

নিচের উদাহরণে একটি অ্যাসোসিয়েটিভ টু-ডাইমেনশনাল অ্যারে আছে—

উদাহরণ

<?php $arr1=array("rno"=>11,"marks"=>50);
$arr2=array("rno"=>22,"marks"=>60);
$arrs=array(
    "Manav"=>$arr1,
    "Ravi"=>$arr2
);
foreach ($arrs as $key=>$val){
    echo "name : " . $key . " ";
    foreach ($val as $i=>$j){
        echo $i . "->" .$j . " ";
    }
    echo "\n";
} ?>

আউটপুট

এটি নিচের ফলাফল দেবে—

name : Manav rno->11 marks->50 name : Ravi rno->22 marks->60

এই উদাহরণে একটি অ্যাসোসিয়েটিভ অ্যারে আছে যার প্রতিটি মান ইনডেক্সড অ্যারে—

উদাহরণ

<?php $arr1=array("PHP","Java","Python");
$arr2=array("Oracle","MySQL","SQLite");
$arrs=array(
    "Langs"=>$arr1,
    "DB"=>$arr2
);
foreach ($arrs as $key=>$val){
    echo $key . ": ";
    for ($i=0; $i < count($val); $i++){
        echo $val[$i] . " ";
    }
    echo "\n";
} ?>

আউটপুট

এটি নিচের ফলাফল দেবে—

Langs: PHP Java Python DB: Oracle MySQL SQLite

  1. জাভাস্ক্রিপ্টে Multidimensional PHP অ্যারে কে JavaScript অ্যারেতে রূপান্তর করার উপায়

  2. সি-এ মাল্টিডাইমেনশনাল অ্যারে ইনিশিয়ালাইজেশন

  3. সি-এ মাল্টিডাইমেনশনাল অ্যারে (Multidimensional Arrays)

  4. PHP-তে array() ফাংশন