2015年12月1日

PHP 2次元配列の作成

«
»

Pocket

今回は「2次元配列」について書きたいと思います。
2次元配列は概念を理解するのに少し時間が掛かるかもしれませんが、
まずはイメージで捉えてみましょう。
 
PHP 2次元配列
 
2次元配列とは、配列の1つの要素が、また配列になっているもので、
タンスの引き出しの中に小さなタンスが入っているマトリョーシカ状態
だと思って下さい。
 
マトリョーシカ

表形式で捉える2次元配列

PHP 2次元配列 表
 
タンスの中にさらにタンスというイメージがわかりづらければ、
上図のように表形式と思ってもらっても正解です。
 
この場合、タンスで言う1段目が表形式で言う1行目にあたり、
1行目の中にある複数の列が内側のタンスということになります。
 
タンスで捉えてもらっても、表形式で捉えてもらってもご自身のわかりやすい方
覚えてもらえればと思います。

2次元配列の作成

では、2次元配列のサンプルプログラムを見てみましょう。

<?php

$food = array(); //食べ物を保存する配列変数
$fruit = array("Apple","Orange"); //フルーツのデータを格納
$meat = array("Pork","Beaf"); //お肉のデータを格納

array_push($food,$fruit) ; //foodの1段目にフルーツの配列を格納
array_push($food,$meat) ; //foodの1段目にお肉の配列を格納

print_r($food);

実行結果

PHP 2次元配列 作成

解説

このサンプルプログラムの場合、$foodが2次元配列となっています。
 
実行結果を見てみると、かなりわかりづらいですが、
先頭の Array ( [0] => Array の部分は
foodというのは配列で、0番目の要素も配列のようです
ということを表しています。
 
従って、
先頭の、Array ( [0] => Array ( [0] => Apple [1] => Orange ) は
foodというのは配列で、0番目の要素も配列で、その配列の0番目の要素はApple,
1番目の要素はOrangeです、ということになります。
 
同様に
[1] => Array ( [0] => Pork [1] => Beaf )
の部分はfoodという配列の1番目の要素も配列で、その配列の0番目の要素はPork,
1番目の要素はBeafです、ということになります。
 
もう一度復習しておきましょう。
 
PHP 二次元配列 作成
 
このようなサンプルプログラムがあった場合、
 
PHP 二次元配列 読み方
 
上図のように読み解きます。

まとめ

2次元配列はかなりわかりづらい概念だと思いますが、
よく使うのでぜひ覚えておきましょう。

・配列の要素として配列を格納できる。
・これを2次元配列という。

【関連する記事】