Computer >> Máy Tính >  >> Lập trình >> PHP

Mảng đa chiều PHP.

Định nghĩa và Cách sử dụng

Một mảng nhiều chiều trong PHP được coi như một mảng các mảng để mỗi phần tử trong mảng là một mảng chính nó. Các phần tử bên trong của một mảng nhiều chiều có thể được liên kết hoặc được lập chỉ mục.

Mặc dù các mảng có thể được lồng vào nhau ở bất kỳ mức nào, nhưng mảng hai chiều với nhiều mảng một chiều ở bên trong ngoài cùng được sử dụng thực tế

Cú pháp

//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)
)

Trong trường hợp mảng hai chiều được lập chỉ mục, chúng ta có thể truy cập một phần tử từ mảng bằng chỉ mục của nó với cú pháp sau:

$arr[row][column];

Phiên bản PHP

Sử dụng dấu ngoặc vuông để gán mảng có sẵn kể từ PHP 5.4

Ví dụ sau cho thấy mảng 2D được lập chỉ mục trong đó mỗi phần tử là một mảng được lập chỉ mục

Ví dụ

<?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";
}
?>

Đầu ra

Điều này sẽ tạo ra kết quả sau -

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

Ví dụ sau đã lập chỉ mục mảng 2D tìm mảng kết hợp dưới dạng phần tử

Ví dụ

<?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";
}
?>

Đầu ra

Điều này sẽ tạo ra kết quả sau -

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

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

Trong ví dụ sau, chúng tôi có một mảng hai chiều kết hợp:

Ví dụ

<?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";
}
?>

Đầu ra

Điều này sẽ tạo ra kết quả sau -

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

Ví dụ này có mảng kết hợp với mỗi giá trị là mảng được lập chỉ mục

Ví dụ

<?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";
}
?>

Đầu ra

Điều này sẽ tạo ra kết quả sau -

Langs: PHP Java Python
DB: Oracle MySQL SQLite