PHPの配列の使い方を初心者向けに解説する
この記事ではプログラミング言語「PHP」の配列について解説していきます。この記事の内容は次の方におすすめできます。
▼この記事がおすすめの人
- PHPの配列について理解したい
- 配列のコードの書き方について知りたい
- コピペで使えるサンプルコードがあれば確認したい
▼この記事を書いたひと
フリーランスみやしも(@miyashimo_blog)です。プログラミングやWebサイト制作に関するITの情報を幅広くお届けしていきます。
PHPの配列について
今回解説するPHPの「配列(はいれつ)」は複数の値を1つの変数にまとめて格納できるデータ構造です。
配列の考え方|沢山のものが入る箱
PHPでは変数を使うことで数字や文字列などのデータを保持できますが、通常は1つの変数につき1つの値しか保持できません。しかし次の様に変数に配列を定義すれば、1つの変数に複数の値をまとめて保持することが可能になります。
▼変数と配列の定義
// 1.変数を定義する
$fruits = "リンゴ";
// 2.配列を定義する
$fruits = array("リンゴ","オレンジ","バナナ");
配列に格納された1つ1つのデータのことは「要素(ようそ)」と呼ばれ、配列に対して新しく追加したり、後から削除したり、目的に合わせて柔軟に取り扱うことができます。
配列の要素|キーと値について
配列に格納されている要素は「キー」と「値」という情報のペアから成り立っています。キーと値にはそれぞれ次の役割があります。
①キー | 配列に格納された要素を識別するための一位の情報。キーには数値や文字列が使用できます。 |
②値 | 配列に格納された要素が持つ実際のデータ。 |
配列のキーは要素を参照する"アドレス"としての役割があります。具体的には次の様に変数の後ろの[](ブラケット)内でキーを指定することで任意の要素の値を参照できます。
▼要素にアクセスする
// 配列を定義する
$fruits = array("リンゴ","オレンジ","バナナ");
// 要素にアクセスする
echo $fruits[0]; // リンゴが出力される
echo $fruits[1]; // オレンジが出力される
echo $fruits[2]; // バナナが出力される
多次元配列について
配列の要素には配列を格納することも可能です。配列の中にさらに配列が含まれる構造のことは「多次元配列(たじげんはいれつ)」と呼びます。以下は配列の各要素に同じサイズの配列を格納している2次元配列の例です。
▼2次元配列
// 2次元配列の作成
$matrix = array(
array(1, 2, 3),
array(4, 5, 6),
array(7, 8, 9)
);
// 要素へのアクセス
echo $matrix[0][1]; // 出力: 2
echo $matrix[2][2]; // 出力: 9
添字配列と連想配列について
PHPの配列には「添字配列(そえじはいれつ)」と「連想配列(れんそうはいれつ)」の2種類があります。
①添字配列 | 要素のキーに0から始まる整数が使われている配列。 |
②連想配列 | 要素のキーに任意の文字列または数値が使われている配列。 |
配列の種類①: 添字配列
添字配列は要素のキーに0から始まる整数が使われている配列です。
配列を定義する際にキーを宣言しない場合は、自動的に整数が割り当てられて添字配列になります。これまでの例で登場した配列はすべて添字配列にあたります。
▼添字配列
// 配列の定義
$fruits = ["リンゴ","オレンジ","バナナ"];
// 配列の要素にアクセス
echo $fruits[0]; // リンゴが出力される
echo $fruits[1]; // オレンジが出力される
echo $fruits[2]; // バナナが出力される
配列の種類②: 連想配列
連想配列は要素のキーに任意の文字列または数値が使われている配列です。連想配列は配列を定義する際に任意のキーを指定することで作成できます。
▼連想配列
// 配列の定義
$fruits = ["apple"=>"リンゴ","orange"=>"オレンジ","banana"=>"バナナ"];
// 配列の要素にアクセス
echo $fruits["apple"]; // リンゴが出力される
echo $fruits["orange"]; // オレンジが出力される
echo $fruits["banana"]; // バナナが出力される
配列の基本的な使い方
ここからは配列の基本的な使い方について解説を進めていきます。
配列を定義する方法
PHPでは次の様にすることで配列が作成できます。
▼変数の定義
// array()関数
$fruits = array("リンゴ", "オレンジ", "バナナ");
// 配列の短縮構文
$fruits = ["リンゴ", "オレンジ", "バナナ"];
PHPの配列は言語に組み込まれているarray()関数を使って定義できますが、一方で[](ブラケット)による短縮構文も使うことができます。
要素にアクセスする方法
配列の要素には初めにも登場した「キー」を使ってアクセスします。
▼添字配列の場合
// 配列の定義
$fruits = ["リンゴ","オレンジ","バナナ"];
// 配列の要素にアクセス
echo $fruits[0]; // リンゴが出力される
echo $fruits[1]; // オレンジが出力される
echo $fruits[2]; // バナナが出力される
▼連想配列の場合
// 配列の定義
$fruits = ["apple"=>"リンゴ","orange"=>"オレンジ","banana"=>"バナナ"];
// 配列の要素にアクセス
echo $fruits["apple"]; // リンゴが出力される
echo $fruits["orange"]; // オレンジが出力される
echo $fruits["banana"]; // バナナが出力される
PHPでは配列を定義した変数の後ろに[]を付けてキーを指定することで、任意の要素にアクセスできます。添字配列と連想配列でキーの指定方法が異なる点にも注目してみましょう。
配列のループ処理
ここではforやforeachなどを使った配列のループ処理の方法について解説します。
for文で処理する方法
配列内のデータをfor文で処理する場合は次の様にコードを書く事ができます。
▼コード
// 配列の定義
$fruits = ["リンゴ","オレンジ","バナナ"];
// ループ処理
for($i = 0 ; $i < count($fruits); $i++){
echo $fruits[$i] . "\n";
}
▼処理結果
リンゴ
オレンジ
バナナ
PHPではcount()関数を使って配列の長さ(要素数)を取得できるので、上記の様に書くことで配列の長さに合わせてループ回数を制御できます。またループ内ではループカウンタの変数を使う事で配列の要素を順番に参照できます。
foreach文で処理する方法
配列内のデータをforeach文で処理する場合は次の様にコードを書く事ができます。
▼コード
// 配列の定義
$fruits = ["リンゴ","オレンジ","バナナ"];
// ループ処理
foreach($fruits as $fruit){
echo $fruit . "\n";
}
▼処理結果
リンゴ
オレンジ
バナナ
foreachで「as $key => $value」の構文を使えば、ループ内でキーと値の両方を扱うこともできます。
▼コード
// 配列の定義
$fruits = ["リンゴ","オレンジ","バナナ"];
// ループ処理
foreach($fruits as $key => $val){
echo "key:" . $key . " " . "val:" . $val . "\n";
}
▼処理結果
key:0 val:リンゴ
key:1 val:オレンジ
key:2 val:バナナ
この記事のまとめ
この記事ではプログラミング言語「PHP」の配列について解説していきました。いずれもPHPを使った幅広いプログラミングの目的でご活用頂きたい情報です。
このほか当ブログではプログラミングで役立つ情報を多数掲載しています。あわせてご活用くださいませ。
▼関連記事を探す