परिभाषा और उपयोग
PHP में एक बहुआयामी सरणी को सरणियों की सरणी के रूप में माना जा सकता है ताकि सरणी के भीतर प्रत्येक तत्व स्वयं एक सरणी हो। बहुआयामी सरणी के आंतरिक तत्व सहयोगी (associative) या अनुक्रमित (indexed) हो सकते हैं।
हालांकि सरणियों को किसी भी स्तर तक नेस्ट किया जा सकता है, लेकिन बाहरी सरणी के अंदर एक से अधिक आयामी सरणियों वाली दो-आयामी सरणी वास्तविक उपयोग की होती है।
सिंटैक्स
// दो-आयामी सहयोगी सरणी
$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 से उपलब्ध है।
उदाहरण
उदाहरण 1: अनुक्रमित 2D सरणी जिसमें प्रत्येक तत्व एक अनुक्रमित सरणी है
<?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
उदाहरण 2: अनुक्रमित 2D सरणी जिसमें सहयोगी सरणियाँ तत्व के रूप में हैं
<?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
उदाहरण 3: सहयोगी दो-आयामी सरणी
<?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
उदाहरण 4: सहयोगी सरणी जिसमें प्रत्येक मान एक अनुक्रमित सरणी है
<?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