Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> PHP

PHP อาร์เรย์หลายมิติ


ความหมายและการใช้งาน

อาร์เรย์หลายมิติใน PHP ถือเป็นอาร์เรย์ของอาร์เรย์เพื่อให้แต่ละองค์ประกอบภายในอาร์เรย์เป็นอาร์เรย์เอง องค์ประกอบภายในของอาร์เรย์หลายมิติอาจเป็นการเชื่อมโยงหรือจัดทำดัชนี

แม้ว่าอาร์เรย์สามารถซ้อนกันได้ไม่เกินระดับใด ๆ อาร์เรย์สองมิติที่มีอาร์เรย์มากกว่าหนึ่งมิติภายในชั้นนอกสุดมีประโยชน์จริง

ไวยากรณ์

//two dimensional associative array
twodim = array(
   "row1"=>array(k1=>v1,k2=>v2,k3=>v3),
   "row2"=>array(k4=>v4,k5=>v5,k6=>v6)
)
//two dimensional indexed array
twodim=array(
   array(v1,v2,v3),
   array(v4,v5,v6)
)

ในกรณีของอาร์เรย์สองมิติที่จัดทำดัชนี เราสามารถเข้าถึงองค์ประกอบจากอาร์เรย์โดยใช้ดัชนีของอาร์เรย์ด้วยรูปแบบต่อไปนี้:

$arr[row][column];

เวอร์ชัน PHP

ใช้วงเล็บเหลี่ยมสำหรับกำหนดอาร์เรย์ได้ตั้งแต่ PHP 5.4

ตัวอย่างต่อไปนี้แสดงอาร์เรย์ 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 มิติที่มีอาร์เรย์เชื่อมโยงเป็นองค์ประกอบ

ตัวอย่าง

<?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