- 公開日: 2017年05月09日
【PHP初心者向け】配列(array)の基礎から使い方まで解説
初心者向けにPHPの基礎を数回に分けて紹介しています。第3回目の今回は、配列(array)について詳しく解説していきます。配列もまた、PHPでプログラミングするには欠かせない知識なので、じっくり読んで理解できるようにしてくださいね!
回を重ねるごとに少しずつ難しくなってきてますが、配列は考え方を抑えれば理解できるはずです。復習したい方、またPHPについて1から知りたい方は「人気のプログラミング言語PHPとは何か?これから学びたい初心者の為に徹底解説」の記事を先にご覧下さい。
PHPの配列とは?
前回の記事では、変数について紹介しました。変数とは、「データを格納するための箱」です。そして、「それぞれの箱には一つのデータのみを格納」することができます。
$変数名 = データ;
上記のように表示します。
それでは、同じ種類に振り分けたいデータが多数あり、グループ化したい場合はどうすればいいのでしょう?例えば、食べ物として同じカテゴリーに入れたい3つのデータがあるとします。変数で表してみます。
$fruit = apple;
$vegetable = potato;
$meat = chicken;
一つのデータ毎に変数名をつけてデータを格納しました。あとで、この3つのデータを「食べ物」というカテゴリーで使いたい場合は、それぞれ「$fruit, $vegetable,$meat」の3つを呼び出してあげなくてはなりません。毎回利用するために3つを書くのは面倒です。「食べ物」として、ひとまとめにできたら便利だと思いませんか?
その時に使うのが、「配列」です。配列とは、同じ変数名のもとに、いくつかデータを入れることができるのです。一つの変数に、一つの箱と紹介しましたが、配列の場合は、一つの配列に複数の箱で振り分けることができます。例えば、先ほどの食べ物のグループを配列で表現してみましょう。
$food = array(“apple”,”potato”,”chicken”);
上記のように、「食べ物($food)」という配列に、りんご(apple)、じゃがいも(potato)、鶏肉(‘chicken’)という3つのデータを3つの箱に格納しました。これで、食べ物のデータをひとまとめにして、このデータを使い回すことができます。
もう少し、配列の仕組みと書き方を詳しくみていきましょう。
配列の仕組みと書き方
先ほど紹介した「食べ物」の例を使って、配列の仕組みと書き方を紹介していきます。
<?php
$food = array(“apple”,”potato”,”chicken”);
echo $food;
?>
配列に格納する3つのデータ“apple”,”potato”,”chicken”の前に、arrayと書いてあります。これは、配列を作るときに使われる関数でarray関数と呼ばれます。ここで、配列を作る命令を出しています。
上記のコードでは、$foodを呼び出していますが、このままだと$foodの中に入ったデータは表示されません。なぜなら、$foodカテゴリーの中に、現在りんご(apple)、じゃがいも(potato)、鶏肉(‘chicken’)の3つの箱があり、どの箱のデータを取り出せばいいのか、指定されていないからです。
配列のデータには、左側より番号が振り分けられています。取り出したいデータは、配列名と番号を用いて、指定することになります。appleは0, potatoは1, chickenは2です。配列のデータを数える際は、0から始まるので、注意してくださいね!
表示させたい箱を指定してみます。
<?php
$food = array(“apple”,”potato”,”chicken”);
echo $food[0];
?>
実行してみます。
データがしっかり表示されていますね!
arrayを使わない配列の使い方
arrayを使った配列の書き方がわかったと思います。配列は、arrayを使わずに表記することもできます。
<?php
$food[0]= “apple”;
$food[1] = ”potato”;
$food[2] = ”chicken”;
echo $food[2];
?>
この場合、変数にデータを格納する際の書き方により近くなります。
$配列名[番号] = データ;
ただ、配列名の後に箱の番号を指定し、データを入れています。番号を指定することで、データを直接入れることができます。
また、番号を指定せずにデータを格納することも可能です。
<?php
$food[]= “apple”;
$food[] = ”potato”;
$food[] = ”chicken”;
echo $food[1];
?>
[]の中が空欄の場合、自動的に番号が振り分けられます。
実際に書いてみよう!
それでは、配列を実際に書いて見ましょう。
<?php
$fruit = array ("apple","banana");
$fruit[2] = ("orange");
$fruit[3] = ("kiwi");
$fruit [] = ("mango");
print_r($fruit);
?>
$fruit = array (“apple”,”banana”);の文では、array関数を用いて、$fruitという配列に、appleとbananaというデータを入れています。
ここで注意しなくてはならないのが〜エラーとなってしまうことです。、$fruit = (“apple","banana"); と array関数の指定を忘れると、エラーとなってしまいます。必ずarray関数を入れるようにしてください。
$fruit[2] = ("orange");
$fruit[3] = (“kiwi");
ここでは、番号を指定してデータを直接格納しています。appleが0, bananaが1のデータになるので、2番目から指定しています。
$fruit [] = (“mango");
ここでは、番号を指定せずにデータを直接入れています。自動的に、3番目のkiwiの次のデータとして、4番目が振り分けられます。
print-r関数とは、array関数と同様にPHPで指令を出す関数です。「表示させる」という指令を出しており、配列の中身を表示させています。
実行させたものを見てみましょう。
ちゃんと、指定したように表示されていますね。
また、配列に入れるデータは上書きすることも可能です。先ほどの例を使ってコードを書いてみましょう。
<?php
$fruit = array ("apple","banana");
$fruit[0] = ("orange");
$fruit[1] = ("kiwi");
$fruit [] = ("mango");
print_r($fruit);
?>
上記の場合、orangeとkiwiが0と1の番号で指定されているので、0のデータappleと1のデータbananaに上書きされます。
実行させてみましょう。
appleとbananaは表示されておらず、orange、kiwi、mangoの3つが表示されていますね。
配列の直接入力の場合、同じ番号の箱にデータを入力した場合、後から入れたデータに上書きされますので、記述の際は注意してください!
このように、配列を使えば、様々なデータが便利に使えるようになります。
\Webサイト担当者としてのスキルが身に付く/
まとめ
配列は、複数のデータを格納して利用するために便利な構文です。PHPのプログラムを書く上で、使う機会は多くなります。今回紹介した例を参考に自分でも試してみてくださいね!配列が使えるようになると、PHPを書くのがもっと楽しく、もっとスムーズになるはずです。
- この記事を書いた人
- Ayumi