
配列について理解したい人向け
配列ってなに?
なんとなくわかるけどきちんと理解出来てない
このような疑問を解決します。
本記事の内容
・配列について
・添字配列について
・連想配列について
・多次元配列について
配列(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・・・)の連続した整数で管理され、整数を用いて要素にアクセスします。
連想配列は、要素に名前(キー名)を指定してそのキーで要素にアクセスする配列を連想配列と呼びます。
多次元配列は配列の中に配列が入っていること
配列をしっかり理解して使えるようになりましょう!

