PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

PHP多次元配列。


定義と使用法

PHPの多次元配列は、配列の配列として扱われるため、配列内の各要素はそれ自体が配列になります。多次元配列の内部要素は、連想的または索引付けされている場合があります。

配列は任意のレベルまでネストできますが、最も外側に複数の次元配列がある2次元配列が現実的に使用されます

構文

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

インデックス付きの2次元配列の場合、次の構文を使用して、インデックスによって配列から要素にアクセスできます。

$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

次の例では、連想配列を要素として持つ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
}

次の例では、連想2次元配列があります。

<?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. Cでの多次元配列の初期化

    配列は、隣接するメモリ位置にある同じタイプの要素のコレクションです。最小のアドレスは最初の要素に対応し、最大のアドレスは最後の要素に対応します。配列インデックスはzero(0)で始まり、配列のサイズから1を引いたもの(配列サイズ-1)で終わります。配列サイズはゼロより大きい整数である必要があります。 例を見てみましょう If array size = 10 First index of array = 0 Last index of array = array size - 1 = 10-1 = 9 多次元配列は、配列の配列です。データは表形式で行の主要な順序で保存されます。 以下は、多

  2. Cの多次元配列

    ここに多次元配列が表示されます。配列は基本的に同種のデータのセットです。それらは連続したメモリ位置に配置されます。さまざまなケースで、配列が1次元ではないことがわかります。 2次元または多次元の形式で配列を作成する必要がある場合があります。 多次元配列は、2つの異なるアプローチで表すことができます。これらは行メジャーアプローチであり、もう1つは列メジャーアプローチです。 r行c列の2次元配列を考えてみましょう。配列内の要素の数はn=r*cです。 0≤i