「PHPで配列の勉強を始めたけれども、配列とはどのようなものか分からない」、「配列の使い方が分からない」などお悩みを抱えている方はいないでしょうか?
この記事はそんなお悩みを解消するためのものになっています。
是非、最後まで読んで頂ければと思います。
配列とは複数の関連するデータをひとまとめにするための仕組みです。
目次
1.配列とは?
まず始めに配列とはどのようなものかを解説していきます。
通常、一つの変数に一つの値を代入することが多いかと思いますが、データによって複数の関連するデータを一つにまとめたい時があるかと思います。
そのような時に使用するのが配列という考え方です。
それでは具体的にどのような時に配列を使用するのか見ていきましょう。
例えば、様々な人の名前を管理する場合で考えてみましょう。
以下は3人の名前を一つ一つの変数で管理しているサンプルプログラムとなっています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<?php $name1 = '佐藤太郎'; $name2 = '後藤太郎'; $name3 = '田中太郎'; print($name1); //結果:佐藤太郎 print($name2); //結果:後藤太郎 print($name3); //結果:田中太郎 ?> |
今回は3個の変数で済みましたが、これが10個の変数となった場合、コードが煩雑になってしまいます。
このような問題を解決するのが、配列という考え方です。
PHPではarrayという関数を利用することで配列を作成することができます。
PHPで配列を作成する方法として、array()で作成する方法と、[]で作成する方法がありますが、ここではarray()で作成する方法を紹介します。
上記のコードをarrayという関数を用いて表すと以下の通りになります。
1 2 3 4 5 6 7 8 9 10 11 |
<?php $name = array('佐藤太郎', '後藤太郎', '田中太郎'); print $name[0]; //結果:佐藤太郎 print $name[1]; //結果:後藤太郎 print $name[2]; //結果:田中太郎 ?> |
array関数を使用することでコードが簡潔になり、管理が楽になりました。
ブラケット([..])でくくられた部分はインデックス番号または添え字と呼ばれ、配列の何番目のデータを取り出すのかを表します。
なお、インデックス番号または添え字は0から始まることに注意しなければいけません。
今回のインデックス番号は0から2の範囲ということになります。
2.配列の要素数を調べる方法
配列を利用して複数のデータをひとまとめにした時、データ量が多いほど数えるのが難しくなっていきます。
そこでcountという関数を利用することで配列に何個のデータが入っているかを確認することができます。
countを利用して要素数を確認する場合はどのようにプログラムを組むのでしょうか。
以下はcountを利用したサンプルプログラムです。
1 2 3 4 5 6 7 |
<?php $name = array('佐藤太郎', '後藤太郎', '田中太郎'); print(count($name).'人がデータ登録されています。'); //結果:3人がデータ登録されています。 ?> |
また、countは配列の最後のインデックス番号を調べるときにも使用されます。
インデックス番号が0から始まるので、「count($name)-1」とすることで最後のインデックス番号を求めることができます。
3.配列の要素を追加する方法
配列はデータを一つにまとめることができるわけではありません。
ブランケット構文([])を利用することで、配列の要素を追加することができます。
存在するインデックス番号が指定された場合、既存の値が書き換えられます。
また、インデックス番号が省略された場合、その時点で最大インデックス番号+1が自動的に割り振られます。
それでは具体的に配列の要素を追加する方法を見ていきましょう。
下記は配列$nameに「斎藤太郎」を追加するサンプルプログラムとなっています。
1 2 3 4 5 6 7 8 9 |
<?php $name = array('佐藤太郎', '後藤太郎', '田中太郎'); $name[] = '斎藤太郎'; print_r($name); ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 |
Array ( [0] => 佐藤太郎 [1] => 後藤太郎 [2] => 田中太郎 [3] => 斎藤太郎 ) |
存在するインデックス番号が指定されていないので、最大インデックス番号+1が自動的に割り振られました。
4.配列の要素を確認する方法
配列の内容を確認したい場合、print_rという関数を使用するといいでしょう。
print_rという関数は、配列のような複数のデータを見やすい形で表示してくれます。
例えば、「1.配列とは」の例で出てきた配列の中身をどのように見やすい形にしてくれるのでしょうか。
1 2 3 4 5 6 7 |
<?php $name = array('佐藤太郎', '後藤太郎', '田中太郎'); print_r($name); ?> |
実行結果は以下の通りになります。
1 2 3 4 5 6 7 8 9 10 11 |
Array ( [0] => 佐藤太郎 [1] => 後藤太郎 [2] =>田中太郎 ) |
5.連想配列とは?
通常の配列では数値をキーとして使用していましたが、連数配列では文字列をキーとして使用します。
通常の配列と使用する箱は同じですが、連想配列はデータを入れた後の扱いを分かりやすくするために数値ではなく、文字列で管理することができます。
例えば、名前をキーとして出身地という要素を管理するサンプルプログラムを見てみましょう。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<?php $data = array( '佐藤太郎' => '東京都', '後藤太郎' => '神奈川県', '田中太郎' => '埼玉県', ); ?> |
記号の「=>」は見た目通り、キー名を値に対応させるという意味を持っています。
また、通常の配列と同様にブランケット構文を利用して新しい要素を追加したり、既存の要素を書き換えたりすることが可能となっています。
以下は新しい要素を追加する場合です。
1 |
$data['中村太郎'] = '千葉県' |
以下は既存の要素を書き換える場合です。
1 |
$data['佐藤太郎'] = '長野県' |
6.多次元配列とは?
今まで、配列の値に文字列を代入してきましたが、配列に保存できる値は文字列だけではありません。
文字列だけではなく、配列を値としてセットすることができます。
多次元配列を利用して2×2の2次元配列を見てみましょう。
1 2 3 4 5 6 7 |
$data = array( array('00', '01'), array('10', '11') ); |
上記の多次元配列のイメージは以下のようになります。
多次元配列から値を取り出すためには、ブランケット構文([])でそれぞれの次元のインデックス番号を指定します。
1 |
print($data[1][0]); //結果:10 |
また、配列の中に連想配列を含めることが可能となっています。
以下が配列の中に連想配列を含めた形になっています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
<?php $data = [ [ 'name' => '佐藤太郎', 'age' => 20, 'sex' => '男', ], [ 'name' => '後藤太郎', 'age' => 30, 'sex' => '男', ], [ 'name' => '田中太郎', 'age' => 40, 'sex' => '男', ], ]; |
7.PHPをもっと学びたい方へ
最後まで読んで頂きまして、ありがとうございます。
PHPをもっと学びたいという方はいないでしょうか?
上記のように考えている方にオススメの教材があります。
確かな力が身につくPHP「超」入門
そのため、PHPを一通り学んだ方にオススメできる一冊です。
是非、挑戦してみてはいかがでしょうか?
以下の記事でPHPを学ぶことができるオススメの本をまとめていますので、よかったらご覧になって下さい。

Udemy
UdemyではPHPを学ぶことができる講座を多数取り扱っています。
以下の記事でPHPを学ぶことができるオススメの講座をまとめていますので、よかったらご覧になって下さい。

TechAcademy
TechAcademy [テックアカデミー]ではPHPを学ぶことができます。
無料体験も行っているので是非、体験してみてはいかがでしょうか?
TechAcademyについてまとめた記事もありますので、よかったらご覧になって下さい。

8.ポイント
-
配列とは関連する複数のデータを一つの変数にまとめる仕組みです
-
配列はarrayという関数で作成できます
-
配列のデータ数を調べるのにcountという関数を使用します
-
配列の内容を確認するためにprint_rという関数を使用します
-
連想配列とは文字列のキーと値を管理するための仕組みです
-
array関数を入れ子にすることで多次元配列を表すことができます