PHPの数値配列(インデックス配列)とは?添字の仕組みを初心者向けに解説
生徒
「PHPの配列を勉強していたら、数値配列やインデックス配列という言葉が出てきました。これは何ですか?」
先生
「PHPの数値配列は、複数の値を順番に並べて管理する配列です。値には0から始まる番号が付きます。」
生徒
「0から始まる番号というのが少し難しそうです。」
先生
「その番号を添字と呼びます。最初の要素が0番目、次が1番目という考え方です。」
生徒
「配列の中の値を取り出すときに、その番号を使うんですか?」
先生
「はい。PHPの配列操作では添字の理解がとても大切です。初心者向けに基本から確認していきましょう。」
1. PHPの配列とは?
PHPの配列とは、複数のデータを1つの変数にまとめて保存できる仕組みです。通常の変数は1つの値だけを入れる箱のようなものですが、配列は複数の値を順番に入れられる棚のようなものです。たとえば、商品名の一覧、ユーザー名の一覧、点数の一覧、カテゴリ一覧、買い物かごの商品一覧など、複数の値をまとめて扱いたいときに配列を使います。
プログラミング未経験の方は、配列をロッカーや引き出しのように考えるとわかりやすいです。1つのロッカーには1つの荷物しか入れられませんが、たくさんのロッカーが並んでいれば、複数の荷物を番号付きで管理できます。PHPの配列も同じように、複数の値を順番に並べて管理できます。
PHPでWebサイトやWebアプリケーションを作ると、複数のデータを扱う場面がよくあります。商品一覧を表示する、会員一覧を表示する、検索結果を並べる、フォームで選択された値を処理するなど、配列は多くの処理で使われます。その中でも、値に数字の番号が付く配列を数値配列またはインデックス配列と呼びます。
2. 数値配列(インデックス配列)とは?
PHPの数値配列とは、配列の中の要素に数字の番号が付いている配列です。インデックス配列とも呼ばれます。インデックスとは、場所を表す番号のことです。配列の中に入っている1つ1つの値を要素と呼び、その要素を取り出すために使う番号を添字と呼びます。
たとえば、果物の名前を配列に入れた場合、最初の果物には0、次の果物には1、その次の果物には2という番号が付きます。ここで大切なのは、PHPの配列の番号は1からではなく0から始まるという点です。初心者がつまずきやすいところですが、PHPの配列操作ではとても重要な基本です。
$fruits = ["りんご", "みかん", "ぶどう"];
echo $fruits[0];
りんご
この例では、配列$fruitsの0番目にあるりんごを表示しています。人間の感覚では1番目と言いたくなりますが、PHPでは最初の要素を0番目として扱います。数値配列を理解するためには、この0から始まる添字の仕組みを覚えることが大切です。
3. 添字とは?配列の場所を表す番号
添字とは、配列の中にある要素の場所を示す番号です。PHPの数値配列では、添字を使って配列の中から特定の値を取り出します。添字は、配列名の後ろに角かっこを書き、その中に番号を入れて指定します。
たとえば、$names[0]と書けば、配列$namesの0番目の要素を取り出すという意味になります。$names[1]なら1番目、$names[2]なら2番目の要素を取り出します。
| 添字 | 配列の中の位置 | 考え方 |
|---|---|---|
0 |
最初の要素 | 1番目ではなく0番目 |
1 |
2つ目の要素 | 人間の感覚では2番目 |
2 |
3つ目の要素 | 人間の感覚では3番目 |
$names = ["田中", "佐藤", "鈴木"];
echo $names[0] . "\n";
echo $names[1] . "\n";
echo $names[2];
田中
佐藤
鈴木
このように、添字を指定すると配列の中から必要な要素だけを取り出せます。PHPの配列を学ぶときは、配列名、角かっこ、添字の3つをセットで覚えると理解しやすくなります。
4. 数値配列の作り方
PHPで数値配列を作るには、角かっこを使って値を並べます。値と値の間はカンマで区切ります。配列の中には、文字列、数値、真偽値など、さまざまな値を入れることができます。初心者の方は、まず文字列を入れた配列から練習するとわかりやすいです。
文字列とは、名前や商品名のような文字のデータです。数値とは、計算に使える数字のデータです。PHPの配列では、複数の値を1つの変数にまとめられるため、同じ種類のデータを一覧として扱うときに便利です。
$items = ["ノート", "えんぴつ", "消しゴム"];
print_r($items);
Array
(
[0] => ノート
[1] => えんぴつ
[2] => 消しゴム
)
print_r()は、配列の中身を確認するときに便利な関数です。関数とは、決まった処理を簡単に使えるようにした道具のことです。print_r()を使うと、配列にどのような添字と値が入っているかを見やすく表示できます。
5. 配列の要素を追加する方法
PHPの数値配列には、あとから要素を追加できます。配列の末尾に新しい値を追加したい場合は、[] =という書き方がよく使われます。末尾とは、配列の一番最後という意味です。
たとえば、買い物かごに商品を追加するように、配列の最後へ新しい値を入れることができます。PHPが自動的に次の添字を付けてくれるため、何番目に入れるかを自分で考えなくても追加できます。
$colors = ["赤", "青"];
$colors[] = "緑";
print_r($colors);
Array
(
[0] => 赤
[1] => 青
[2] => 緑
)
この例では、最初に赤と青が入っている配列に、緑を追加しています。追加された緑には、自動的に2番目の添字が付きます。PHPの数値配列では、末尾に要素を追加する処理がとてもよく使われます。
6. 配列の要素数を数える方法
PHPで配列の中にいくつの要素があるかを調べたい場合は、count()関数を使います。要素数とは、配列に入っている値の数のことです。商品が3つ入っていれば要素数は3、名前が5人分入っていれば要素数は5です。
配列の要素数を数えることは、一覧表示や繰り返し処理でよく使われます。たとえば、商品が何件あるか表示したり、入力されたデータの数を確認したりするときに便利です。
$scores = [80, 90, 70];
echo "点数は" . count($scores) . "件あります";
点数は3件あります
この例では、配列$scoresに3つの点数が入っているため、count()の結果は3になります。PHPの配列操作では、要素を取り出すだけでなく、要素数を確認することも大切です。
7. foreach文で数値配列を順番に取り出す
配列の中身を1つずつ順番に取り出したい場合は、foreach文を使います。foreach文とは、配列の要素を順番に取り出して処理するための繰り返し文です。繰り返し文とは、同じような処理を何度も実行するための仕組みです。
たとえば、商品名の配列を順番に表示したい場合、添字を1つずつ指定して書くこともできますが、要素が多くなると大変です。foreach文を使えば、配列の中身を自動的に順番に取り出してくれます。
$products = ["机", "椅子", "本棚"];
foreach ($products as $product) {
echo $product . "\n";
}
机
椅子
本棚
この例では、配列$productsの中にある商品名を1つずつ取り出し、変数$productに入れて表示しています。PHPで一覧表示を作るとき、foreach文と数値配列の組み合わせは非常によく使われます。
8. 存在しない添字を指定したときの注意点
PHPの数値配列では、存在しない添字を指定すると注意が必要です。たとえば、配列に0番目から2番目までしか要素がないのに、3番目を取り出そうとすると、存在しない要素を参照することになります。参照とは、値を見に行くという意味です。
存在しない添字を指定すると、警告やエラーの原因になることがあります。そのため、配列から値を取り出す前に、要素が存在するかを確認することが大切です。PHPではisset()を使うと、指定した添字に値が存在するか確認できます。
$animals = ["犬", "猫"];
if (isset($animals[2])) {
echo $animals[2];
} else {
echo "指定した要素はありません";
}
指定した要素はありません
この例では、配列$animalsには0番目と1番目しかありません。2番目は存在しないため、isset()で確認してからメッセージを表示しています。PHP初心者の方は、配列の添字を指定するときに、その番号が本当に存在するかを意識しましょう。
9. 数値配列が役立つPHP開発の場面
PHPの数値配列は、実際のWeb開発でもさまざまな場面で使われます。たとえば、商品一覧、カテゴリ一覧、検索結果、会員名一覧、点数一覧、選択された項目、エラーメッセージ一覧など、複数の値を順番に管理したい場合に便利です。
数値配列を使うと、複数の値を1つの変数でまとめて扱えるため、プログラムが整理しやすくなります。1つずつ別の変数を作るよりも、配列にまとめたほうが、一覧表示や繰り返し処理が書きやすくなります。
PHP初心者の方は、まず配列を作る、添字を指定して要素を取り出す、print_r()で中身を確認する、foreachで順番に表示する、という流れを練習すると理解しやすくなります。特に、最初の添字が0から始まる点は必ず覚えておきましょう。
PHPの数値配列、インデックス配列、添字の仕組みを理解すると、配列操作の基礎が身に付きます。配列は、PHPプログラミングで頻繁に使われる重要なデータ構造です。Webサイト制作、フォーム処理、管理画面、商品管理、検索機能、会員管理など、多くの機能で配列の考え方が役立ちます。
まとめ
PHPの数値配列は、複数のデータを順番に管理するための基本的な仕組みです。PHPを学習していると、変数だけでは管理しきれない場面が数多く登場します。例えば、商品一覧、会員一覧、カテゴリ一覧、検索結果一覧、点数一覧など、同じ種類のデータをまとめて扱いたい場合があります。そのようなときに活躍するのが数値配列です。
数値配列はインデックス配列とも呼ばれ、各要素に自動的に番号が付与されます。この番号のことを添字と呼びます。添字は配列内のデータがどこに保存されているかを示す住所のような役割を持っています。PHP初心者が最初に戸惑うポイントとして、添字が一からではなく〇から始まることがあります。しかしこれはPHPだけではなく、多くのプログラミング言語で採用されている仕組みです。
数値配列を理解すると、複数のデータを効率よく管理できるようになります。例えば商品情報を一件ずつ変数に保存していると、商品数が増えるたびに変数も増えてしまいます。しかし配列を利用すれば、一つの変数の中に複数の商品名を保存できます。そのためプログラムが整理しやすくなり、保守もしやすくなります。
また、配列はWebアプリケーション開発において非常に重要です。ショッピングサイトの商品一覧表示、会員管理システムのユーザー一覧表示、掲示板の投稿一覧表示など、多くのシステムで配列が利用されています。PHPの実務開発でも配列は毎日のように登場するため、早い段階で理解しておくことが大切です。
配列の値を取得する際には添字を指定します。添字を使うことで、必要なデータだけを取り出せます。例えば〇番目の商品名だけを表示したい場合や、一番最初のデータだけを利用したい場合などに活用できます。配列と添字の関係を理解することで、データの取り出しや更新がスムーズに行えるようになります。
配列の要素を追加する方法も重要な知識です。PHPでは角かっこを使って簡単に末尾へ要素を追加できます。例えば新しい商品を商品一覧へ追加したり、新しい会員名を会員一覧へ追加したりする場合に利用します。配列は作成した後でも自由に要素を増やせるため、柔軟なプログラムを作成できます。
配列の中身を確認するときにはprint_r関数が便利です。学習中は配列の内容が正しく保存されているかを確認する機会が多くあります。そのため、配列のデバッグ方法としてprint_r関数の使い方も覚えておくと役立ちます。実務でも開発中に配列の内容を確認することは珍しくありません。
配列の要素数を取得するcount関数も頻繁に利用されます。例えば検索結果が何件見つかったのかを表示したり、登録されている会員数を表示したりする場合に利用できます。要素数を取得できるようになると、より実践的なPHPプログラムが作成できるようになります。
さらに、foreach文と組み合わせることで配列のデータを順番に処理できます。例えば商品一覧画面を作成するときは、配列に保存された商品情報を一件ずつ取り出して表示します。この処理はPHP開発で非常によく使われるため、数値配列とforeach文はセットで理解しておくとよいでしょう。
初心者が注意したい点として、存在しない添字を指定しないことがあります。配列に保存されていない番号を指定すると、エラーや警告の原因になることがあります。そのため、isset関数を使って存在確認を行う習慣を身に付けることが大切です。安全なプログラムを作るためにも重要な考え方です。
数値配列はPHPの基礎でありながら、実際のシステム開発でも非常に利用頻度の高い機能です。商品管理システム、予約システム、会員管理システム、掲示板システム、ブログシステム、ショッピングサイトなど、あらゆるWebシステムで利用されています。数値配列と添字の仕組みを正しく理解することで、PHPのプログラミングスキルは大きく向上します。
サンプルプログラムで復習
数値配列を作成し、添字を指定して値を取得する基本的な例です。
$fruits = ["りんご", "みかん", "ぶどう"];
echo $fruits[1];
みかん
配列へ新しい要素を追加する例です。
$colors = ["赤", "青"];
$colors[] = "緑";
print_r($colors);
Array
(
[0] => 赤
[1] => 青
[2] => 緑
)
foreach文で配列の中身を順番に表示する例です。
$members = ["田中", "佐藤", "鈴木"];
foreach ($members as $member) {
echo $member . "\n";
}
田中
佐藤
鈴木
生徒
「数値配列は複数のデータをまとめて保存できる仕組みなんですね。」
先生
「その通りです。PHPの開発では非常によく使います。」
生徒
「添字が〇から始まる理由も少しずつ理解できました。」
先生
「添字は配列の住所のようなものです。どこにデータがあるかを示しています。」
生徒
「配列の値を取り出したり追加したりできるようになりました。」
先生
「それは大きな成長です。配列操作は商品一覧や会員一覧など多くのシステムで利用されます。」
生徒
「foreach文と組み合わせると便利ですね。」
先生
「はい。配列とforeach文の組み合わせはPHP開発の基本です。」
生徒
「存在しない添字を指定しないように気を付けます。」
先生
「とても大切な考え方です。数値配列と添字を理解できれば、PHPの配列操作の基礎はしっかり身に付いています。」