5分で理解【PHP入門】配列(array)について徹底解説

php-array PHP
スポンサーリンク

配列について理解したい人向け
配列ってなに?
なんとなくわかるけどきちんと理解出来てない

このような疑問を解決します。

本記事の内容
・配列について
・添字配列について
・連想配列について
・多次元配列について

配列(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・・・)の連続した整数で管理され、整数を用いて要素にアクセスします。

連想配列は、要素に名前(キー名)を指定してそのキーで要素にアクセスする配列を連想配列と呼びます。

多次元配列は配列の中に配列が入っていること


配列をしっかり理解して使えるようになりましょう!

タイトルとURLをコピーしました