
配列について理解したい人向け
配列ってなに?
なんとなくわかるけどきちんと理解出来てない
このような疑問を解決します。
本記事の内容
・配列について
・添字配列について
・連想配列について
・多次元配列について
配列(array)とは?

配列とは?
配列とは、複数の値をまとめて管理することのできる型です。
配列には2種類あります。
1つ目が添字配列、2つ目が連想配列です。PHPではどちらも配列と呼びます。
配列はarray()で記述し添字配列は0から(0,1,2,3・・・)の連続した整数キーで管理され、連想配列は文字列などでキーを定義します。
添字配列
添字配列は0から(0,1,2,3・・・)の連続した整数で管理され、整数を用いて要素にアクセスします。
添字配列の基本的な使い方
- array() で作成するか、[ ](角括弧)で作成する。
- 0からの連続した整数で管理され、整数で要素にアクセスする。
- 要素と要素はカンマ(
,
)で区切る。
以下のソースコードを確認してください。
<?php //1つ目の記述方法 $vegetables = ['トマト', 'キャベツ', 'ニンジン']; //2つ目の記述方法 $sports = array( 'サッカー', '野球', 'バスケットボール', ); //3つ目の記述方法 後ろに追加できる $vegetables[] = 'レタス'; $sports[] = 'テニス'; echo $vegetables[0]; //結果 トマト echo $sports[3]; //結果 テニス
1つ目の記述方法はブラケット[ ] を使用する記述方法です。
$変数 = ['要素1', '要素2', '要素3'];
2つ目の記述方法はarray()を使用する記述方法です。
$変数 = array(
'要素1',
'要素2',
'要素3',
);
3つ目の記述方法は後ろに追加できる記述方法です。
$変数[ ] = '要素4';
$変数[ ] = '要素5';
連想配列
連想配列は、要素に名前(キー名)を指定してそのキーで要素にアクセスする配列を連想配列と呼びます。
連想配列の基本的な使い方
- array() で作成するか、[ ](角括弧)で作成します。
- キー => 値 のペアを1つの要素とします。
- 任意のデータ型のデータを値としてもつことが可能です。
- 要素と要素はカンマ(
,
)で区切ります。 - キーとして用いることができるのは、「整数」と「文字列」
以下のソースコードを確認してください。
<?php $sports = array( 'soccer' => 'サッカー', 'baseball' => '野球', 'basketball' => 'バスケットボール', ); echo $sports['baseball']; //結果 野球
連想配列は$sports['baseball']でbaseballというキーで野球が出力されます。
$変数 = array(
'キー名' => '要素1',
'キー名' => '要素2',
'キー名' => '要素3';
);
配列をvar_dump()で出力してみましょう。
<?php $vegetables = array( 'トマト', 'キャベツ', 'ニンジン', ); $sports = array( 'soccer' => 'サッカー', 'baseball' => '野球', 'basketball' => 'バスケットボール', ); var_dump($vegetables); var_dump($sports); //以下のように出力されます array(3) { [0]=> string(9) "トマト" [1]=> string(12) "キャベツ" [2]=> string(12) "ニンジン" } array(3) { ["soccer"]=> string(12) "サッカー" ["baseball"]=> string(6) "野球" ["basketball"]=> string(24) "バスケットボール" }
ここまで理解できれば、配列の基本はバッチリです!
Tips
配列は複数の型を保存することができます。
<?php $data_type = array ( 'おはよう', //文字列型 100, //整数型 12.3, //浮動小数点数型 ); echo $data_type[0] . PHP_EOL; echo $data_type[1] . PHP_EOL; echo $data_type[2] . PHP_EOL; //出力結果 おはよう 100 12.3
キーを持たない要素とキーを持つ要素を混ぜて定義することができます。
<?php $sports = array ( 'サッカー', '野球', 'basketball' => 'バスケットボール', 'tennis' => 'テニス', ); echo $sports[0] . PHP_EOL; echo $sports['tennis'] . PHP_EOL; //出力結果 サッカー テニス
初期化時にキーが重複していた場合、あとに定義された要素が用いられます。
<?php $sports = array ( 'サッカー', //キーが0 '野球', //キーが1 1 => 'バスケットボール', //キーが1の要素が上書き 'tennis' => '最初のテニス', 'tennis' => '2回目のテニス', //要素が上書き ); echo $test[1] . PHP_EOL; echo $test['tennis'] . PHP_EOL; //出力結果 バスケットボール 2回目のテニス
多次元配列
多次元配列とは?
配列の中に配列が入っていることを多次元配列といいます。
ソースコードを確認していきましょう。
※foreach文が出てきますが、ここでの解説は省略します。
<?php $vegetables = array( 'キャベツ' => array( 'price' => 200, 'count' => 3, ), 'きゅうり' => array( 'price' => 50, 'count' => 4, ), 'トマト' => array( 'price' => 110, 'count' => 6, ), ); foreach( $vegetables as $name => $value ){ echo "$name は1つ{$value['price']}円で、{$value['count']}個です。" . PHP_EOL; } //出力結果 キャベツは1つ200円で、3個です。 きゅうりは1つ50円で、4個です。 トマトは1つ110円で、6個です。
このように配列の中に配列を入れるという、複雑な構造をもつ配列をつくることもできます。
まとめ

配列とは、複数の値をまとめて管理することのできる型です。
添字配列は0から(0,1,2,3・・・)の連続した整数で管理され、整数を用いて要素にアクセスします。
連想配列は、要素に名前(キー名)を指定してそのキーで要素にアクセスする配列を連想配列と呼びます。
多次元配列は配列の中に配列が入っていること
配列をしっかり理解して使えるようになりましょう!