1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

PHPの配列、連想配列について

Posted at

#PHPの配列
###配列とは
配列とは、同じ変数名で、いくつかデータを入れることができる大きな箱のようなものです。配列の場合は、一つの配列に複数の箱で振り分けることができます。

基本的な使い方としては以下のような書き方をする。

こうするとブラウザには”2”が出力される。

 $array_1 = [1,2,3];//変数=[値]
 echo $array_1[1];

配列は行をふやす事もできる

$array_2 = [
  ['赤','青','黄'],
  ['test','numbers','baseball']
];

これは$array_2と言う配列の中に更に「赤、青、黄」の配列と「test,numbers,baseball」があることを示している。値の取り出し方は下記の通りで、[0][1]の[0]は1列目「赤、青、黄」を指定し,[1]はその配列の中の何番目かを指定している。この場合では”青”が表示される。

 echo $array_2[0][1];

#連想配列
###連想配列とは
配列には、変数の箱の中身に 0,1,2……と番号を振り、その番号を指定することでデータを指定していましたが、連想配列では、番号のかわりに名前をつけて管理することができます。

 //変数 = ['キー'=>'バリュー'];
$array_member = [
  'name' => '山田',
  'height' => 175,
  'hobby' => '野球'
];

このようにキーとバリューを使い値を指定する事ができます。

 echo $array_member['name'];

'name'と指定する事で’山田’と言うデータが取り出せます。

 $array_member_3 = [
  'ライオンズ' => [
    '山川' => [
      'height' => 183,
      'position' => '一塁手'
    ],
    '中村' => [
      'height' => 175,
      'position' => '三塁手'
    ] 
  ],
  'ファイターズ' => [
    '中田' => [
      'height' => 189,
      'position' => '一塁手'
    ],
    '大田' => [
      'height' => 179,
      'position' => '外野手'
    ]
  ]
];

echo $array_member_3 ['ファイターズ']['中田']['position'];

応用としてこのような書き方もできます。説明すると、$array_member_3の配列の中に「ライオンズ」と「ファイターズ」と言う配列があり、その中にライオンズなら「山川」「中村」、ファイターズは「中田」「大田」というデータがあります。
その中に'height','position'というデータがある構造です。
イメージでいうとリーグがあって、そのリーグにはライオンズとファイターズというチームがあって、その各チームの選手の身長とポジションのデータが入っているよと考えて頂けたらいいかなと思います。
最後のechoは”一塁手”と表示されると思います。
簡単ではありましたが、自分なりにまとめてみました。ご意見、ご指摘等ありましたら、どんどんお願いします!!

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?