【PHP初心者向け】配列(array)の基礎から使い方まで解説



【PHP初心者向け】配列(array)の基礎から使い方まで解説

初心者向けにPHPの基礎を数回に分けて紹介しています。第3回目の今回は、配列(array)について詳しく解説していきます。配列もまた、PHPでプログラミングするには欠かせない知識なので、じっくり読んで理解できるようにしてくださいね!

回を重ねるごとに少しずつ難しくなってきてますが、配列は考え方を抑えれば理解できるはずです。復習したい方、またPHPについて1から知りたい方は「人気のプログラミング言語PHPとは何か?これから学びたい初心者の為に徹底解説」の記事を先にご覧下さい。

目次
  1. PHPの配列とは?
  2. 配列の仕組みと書き方
  3. arrayを使わない配列の使い方
  4. 実際に書いてみよう!
  5. まとめ

PHPの配列とは?

image 前回の記事では、変数について紹介しました。変数とは、「データを格納するための箱」です。そして、「それぞれの箱には一つのデータのみを格納」することができます。

$変数名 = データ;

上記のように表示します。

それでは、同じ種類に振り分けたいデータが多数あり、グループ化したい場合はどうすればいいのでしょう?例えば、食べ物として同じカテゴリーに入れたい3つのデータがあるとします。変数で表してみます。

$fruit = apple;
$vegetable = potato;
$meat = chicken;

一つのデータ毎に変数名をつけてデータを格納しました。あとで、この3つのデータを「食べ物」というカテゴリーで使いたい場合は、それぞれ「$fruit, $vegetable,$meat」の3つを呼び出してあげなくてはなりません。毎回利用するために3つを書くのは面倒です。「食べ物」として、ひとまとめにできたら便利だと思いませんか?

その時に使うのが、「配列」です。配列とは、同じ変数名のもとに、いくつかデータを入れることができるのです。一つの変数に、一つの箱と紹介しましたが、配列の場合は、一つの配列に複数の箱で振り分けることができます。例えば、先ほどの食べ物のグループを配列で表現してみましょう。

$food = array(“apple”,”potato”,”chicken”);

上記のように、「食べ物($food)」という配列に、りんご(apple)、じゃがいも(potato)、鶏肉(‘chicken’)という3つのデータを3つの箱に格納しました。これで、食べ物のデータをひとまとめにして、このデータを使い回すことができます。

もう少し、配列の仕組みと書き方を詳しくみていきましょう。

配列の仕組みと書き方

image 先ほど紹介した「食べ物」の例を使って、配列の仕組みと書き方を紹介していきます。

<?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];
?>

実行してみます。

image

データがしっかり表示されていますね!

arrayを使わない配列の使い方

image

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];

?>

image

[]の中が空欄の場合、自動的に番号が振り分けられます。

実際に書いてみよう!

image それでは、配列を実際に書いて見ましょう。

<?php
$fruit = array ("apple","banana");
$fruit[2] = ("orange");
$fruit[3] = ("kiwi");
$fruit [] = ("mango");
 print_r($fruit);
?>

image

$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で指令を出す関数です。「表示させる」という指令を出しており、配列の中身を表示させています。

実行させたものを見てみましょう。

image

ちゃんと、指定したように表示されていますね。

また、配列に入れるデータは上書きすることも可能です。先ほどの例を使ってコードを書いてみましょう。

<?php
$fruit = array ("apple","banana");
$fruit[0] = ("orange");
$fruit[1] = ("kiwi");
$fruit [] = ("mango");
 print_r($fruit);
?>

上記の場合、orangeとkiwiが0と1の番号で指定されているので、0のデータappleと1のデータbananaに上書きされます。

実行させてみましょう。

image

appleとbananaは表示されておらず、orange、kiwi、mangoの3つが表示されていますね。

配列の直接入力の場合、同じ番号の箱にデータを入力した場合、後から入れたデータに上書きされますので、記述の際は注意してください!

このように、配列を使えば、様々なデータが便利に使えるようになります。

Webサイト担当者としてのスキルが身に付く

CodeCampの無料体験はこちら

まとめ

配列は、複数のデータを格納して利用するために便利な構文です。PHPのプログラムを書く上で、使う機会は多くなります。今回紹介した例を参考に自分でも試してみてくださいね!配列が使えるようになると、PHPを書くのがもっと楽しく、もっとスムーズになるはずです。

Ayumi
この記事を書いた人
Ayumi
\ 無料体験開催中!/自分のペースで確実に習得!
オンライン・プログラミングレッスンNo.1のCodeCamp