PHP の多次元配列で foreach ループを使用する
このチュートリアルでは、PHP の多次元配列を紹介します。また、多次元配列で foreach
ループを使用する方法も学習します。
PHP で foreach
ループを使用して多次元配列の要素にアクセスする
多次元配列には、配列内に 1つまたは複数の配列が含まれます。
配列は 2 次元、3 次元にすることができ、より多くのレベルの次元を持つことができます。アレイの複雑さは次元の増加とともに増加し、アレイの管理は困難です。
2 次元配列にアクセスするには 2つのインデックスが必要であり、3 次元配列にアクセスするには 3つのインデックスが必要です。この記事では、2 次元配列について説明します。
次のコード例は、2 次元配列を作成します。
$bikes = array (
array("CRF300L",28,19.5),
array("CBR600RR",70,33),
array("KTM390 ",40,10)
);
出力:
Array
(
[0] => Array
(
[0] => CRF300L
[1] => 28
[2] => 19.5
)
[1] => Array
(
[0] => CBR600RR
[1] => 70
[2] => 33
)
[2] => Array
(
[0] => KTM390
[1] => 40
[2] => 10
)
)
上記の出力は、$bikes
配列の内容を示しています。
配列に数値のインデックスが付けられていることがわかります。foreach
ループを利用して配列要素にアクセスできます。
foreach
ループは、アレイでのみ機能する特別なループです。ご存知のように、その配列にはキーと値のペアが含まれています。foreach
ループは、配列のキーと値のペアをループするために使用されます。
foreach
ループの構文を以下に示します。
foreach($array as $element){
// statements
}
foreach
ループでは、$element
変数に反復ごとの現在の配列項目の値が含まれます。ループは、配列の最後の要素まで続きます。
2 次元配列の場合、foreach
ループを使用して、最初の反復で最初のネストされた配列にアクセスできます。
たとえば、上記で作成した配列が $bikes
である foreach
ループを記述します。次の例に示すように、要素を $bike
と記述します。
ループ内で、echo
を使用して、$bike
変数のインデックスを使用してネストされた配列のコンテンツを表示します。インデックスを $bike[0]
、$bike[1]
、$bike[2]
として使用します。
以下に例を示します。
foreach ($bikes as $bike){
echo $bike[0]."<br>";
echo $bike[1]."<br>";
echo $bike[2]."<br>";
echo "<br>";
}
出力:
CRF300L
28
19.5
CBR600RR
70
33
KTM390
40
10
このようにして、foreach
ループを使用して多次元配列の要素にアクセスできます。
PHP でネストされた foreach
ループを使用して多次元配列の要素にアクセスする
この方法では、ネストされた foreach
ループを使用して 2 次元配列の要素にアクセスする方法について説明します。配列内のキーと値のペアに対して foreach
ループを使用できます。
その構文を以下に示します。
foreach($array as $key=>value){
// statements
}
このようにして、foreach
ループを使用して、配列内の各要素のキーと値にアクセスできます。
ネストされた foreach
ループを作成して、2 次元配列内のすべてのキーと値のペアにアクセスできます。このメソッドのデモンストレーションには、上記で作成した配列を使用します。
たとえば、$bikes
変数が配列である foreach
ループを記述します。$number
変数をキーとして設定し、$bike
変数を値として設定します。
次に、作成したばかりのループ内に別の foreach
ループを記述します。ネストされたループで、$bike
変数を配列として記述し、$num
と $value
をキーと値として設定します。
ネストされたループ内で、次の例に示すように、変数 $num
、$number
、および $value
を出力します。したがって、ネストされた foreach
ループを使用して、PHP の多次元配列の要素にアクセスできます。
サンプルコード:
foreach($bikes as $number => $bike)
{
foreach($bike as $num => $value)
{
print "Index ".$num." of ".$number." indexed array contains " .$value. "<br>";
}
}
出力:
Index 0 of 0 indexed array contains CRF300L
Index 1 of 0 indexed array contains 28
Index 2 of 0 indexed array contains 19.5
Index 0 of 1 indexed array contains CBR600RR
Index 1 of 1 indexed array contains 70
Index 2 of 1 indexed array contains 33
Index 0 of 2 indexed array contains KTM390
Index 1 of 2 indexed array contains 40
Index 2 of 2 indexed array contains 10
Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.
LinkedIn関連記事 - PHP Array
- PHP の foreach ループの最初と最後の要素を決定する方法
- PHP で配列を文字列に変換する方法
- PHP で配列の最初の要素を取得する方法
- PHP で配列をエコーまたは出力する方法
- PHP で配列から要素を削除する方法
- PHP で空の配列要素を削除する方法