PHP
PR

PHPの配列とは?複数のデータをまとめて扱う基本

PHP 2-4の記事用アイキャッチ画像。PHPの配列を使って複数のデータをまとめて扱う基本を表現している。
toshi
記事内に商品プロモーションを含む場合があります

この記事は、PHPの「配列」について、初学者向けに整理する記事です。

前回の記事では、
if文を使って条件によって表示を変える基本を確認しました。


今回は、
複数のデータをひとまとめにして扱う「配列」の基本を見ていきます。

配列は、複数の値をまとめて入れておける箱のようなものです。

たとえば、りんご、バナナ、みかんのような複数のデータを、$fruits という1つの変数にまとめて入れられます。

PHPでは、この配列を使うことで、複数のデータを扱いやすくできます。

この記事で分かること

この記事では、PHPの配列について、次の内容を整理します。

  • 配列とは何か
  • 配列を使う理由
  • 配列の基本的な書き方
  • インデックス番号とは何か
  • 配列の値をechoで取り出す方法
  • 配列の番号が0から始まる考え方
  • よくあるつまずきポイント

配列は、最初は少し難しく見えるかもしれません。

ただ、考え方としては
「複数の値をまとめて入れておく箱」
です。

まずは、1つずつ見ていきます。

Q
先に結論だけ読む

PHPの配列は、複数の値をまとめて扱うための仕組みです。

たとえば、次のように書きます。

<?php
$fruits = ['りんご', 'バナナ', 'みかん'];

echo $fruits[0];
?>
PHP

この場合、$fruits という配列の中に、りんご、バナナ、みかんが入っています。

$fruits[0] と書くと、0番目の値である「りんご」を取り出せます。

配列の番号は 1 からではなく、0 から始まります。

配列とは?

配列とは、複数の値をまとめて扱うための仕組みです。

これまでの記事では、変数に1つの値を入れて使いました。

たとえば、次のような形です。

<?php
	$name = 'ToshiLab';
?>
PHP

この場合、$name には ToshiLab という1つの値が入っています。

でも、複数の値を扱いたい場合はどうでしょうか。

たとえば、果物の名前を3つ扱いたいとします。

りんご
バナナ
みかん
Plaintext

これを1つずつ別々の変数に入れると、次のようになります。

<?php
	$fruit1 = 'りんご';
	$fruit2 = 'バナナ';
	$fruit3 = 'みかん';
?>
PHP

この書き方でも動きます。

ただ、値が増えてくると、変数がどんどん増えて管理しにくくなります。

そこで使うのが配列です。

配列を使うと複数の値をまとめられる

配列を使うと、複数の値を1つの変数にまとめられます。

<?php
	$fruits = ['りんご', 'バナナ', 'みかん'];
?>
PHP

このコードでは、$fruits という変数の中に、3つの値をまとめて入れています。

重要

配列は、複数の値をひとまとめにして扱うためのものです。

1つの変数に1つの値だけを入れるのではなく、1つの変数に複数の値を入れられるのが配列です。

配列のイメージを図で見る

ここで、配列のイメージを図で確認しておきます。

PHPの配列で複数の値をまとめ、0番目、1番目、2番目のようにインデックス番号で取り出す流れを説明した図
配列では、複数の値をひとまとめにして、0番目、1番目、2番目のような番号で取り出せます。

配列では、値が順番に並んでいます。

そして、それぞれの値には番号がついています。

この番号を使って、配列の中から必要な値を取り出します。

配列の基本的な書き方

PHPで配列を書く基本形は、次のようになります。

<?php
	$fruits = ['りんご', 'バナナ', 'みかん'];
?>
PHP

このコードを分けて見ると、次のようになります。

部分役割
$fruits配列を入れる変数名
=右側の値を左側に入れる
[ ]配列を書くための記号
‘りんご’, ‘バナナ’, ‘みかん’配列に入れる値

配列では、複数の値をカンマで区切って書きます。

['りんご', 'バナナ', 'みかん']
Plaintext

このように、角かっこ [ ] の中に値を並べるのが基本です。

配列の値を取り出す

配列に入れた値は、番号を使って取り出します。

たとえば、次のコードを見てみます。

<?php
	$fruits = ['りんご', 'バナナ', 'みかん'];

	echo $fruits[0];
?>
PHP

ブラウザには、次のように表示されます。

りんご
Plaintext

$fruits[0] は、$fruits 配列の0番目の値を取り出すという意味です。

ここで大事なのは、配列の番号は 0 から始まることです。

配列の番号は0から始まる

PHPの配列では、最初の値の番号は 0 です。

1ではありません。

インデックス番号
0りんご
1バナナ
2みかん

つまり、次のように取り出せます。

<?php
	$fruits = ['りんご', 'バナナ', 'みかん'];

	echo $fruits[0];
	echo $fruits[1];
	echo $fruits[2];
?>
PHP

表示される内容は、次の通りです。

りんごバナナみかん
Plaintext

このままだと文字がくっついて表示されるので、見やすくしたい場合は
<br> を入れます。

<?php
	$fruits = ['りんご', 'バナナ', 'みかん'];

	echo $fruits[0] . '<br>';
	echo $fruits[1] . '<br>';
	echo $fruits[2] . '<br>';
?>
PHP

ブラウザには、次のように表示されます。

りんご
バナナ
みかん
Plaintext

配列の番号は0から始まります。

最初の値は [0]、次の値は [1]、その次の値は [2] です。

ここは初学者がつまずきやすいポイントなので、最初にしっかり押さえておくと安心です。

インデックス番号とは?

配列の値につく番号を、インデックス番号と呼びます。

たとえば、次の配列があるとします。

<?php
	$fruits = ['りんご', 'バナナ', 'みかん'];
?>
PHP

この場合、

  • りんご:0番目
  • バナナ:1番目
  • みかん:2番目

です。

この 0、1、2 がインデックス番号です。

インデックス番号は、配列の中の位置を表す番号です。

PHPでは、最初の位置が0番目になります。

配列と普通の変数の違い

ここで、普通の変数と配列の違いを整理しておきます。

種類入れられる値
普通の変数1つの値$name = ‘ToshiLab’;
配列複数の値$fruits = [‘りんご’, ‘バナナ’, ‘みかん’];

普通の変数は、1つの値を入れる時に使います。

配列は、複数の値をまとめて扱いたい時に使います。

たとえば、1人の名前だけなら普通の変数で十分です。

でも、複数の商品名、複数のカテゴリ名、複数のメニュー名などを扱いたい場合は、配列の方が便利です。

数字の配列も作れる

配列には、文字だけでなく数字も入れられます。

<?php
	$scores = [80, 90, 75];

	echo $scores[0];
?>
PHP

この場合、ブラウザには次のように表示されます。

80
Plaintext

配列には、次のように複数の数字が入っています。

インデックス番号
080
190
275

数字をまとめて扱う時にも、配列は使えます。

配列の中身を確認する

学習中は、配列の中身をざっくり確認したいことがあります。

その時は、print_r を使うと配列の中身を確認できます。

<?php
	$fruits = ['りんご', 'バナナ', 'みかん'];

	print_r($fruits);
?>
PHP

ブラウザには、次のような形で表示されます。

Array
(
    [0] => りんご
    [1] => バナナ
    [2] => みかん
)
Plaintext

print_r は、配列の中身を確認するために使えます。

ただし、見た目を整えて表示するためのものではありません。

学習中や確認用として使うものだと考えておきましょう。

print_r は、配列の中身を確認する時に便利です。

本番の画面にきれいに表示する目的ではなく、学習中や確認用として使うことが多いです。

配列はforeachにつながる

配列は、次の記事で学ぶ foreach と相性が良いです。

foreach を使うと、配列の中身を順番に取り出して表示できます。

たとえば、次のようなイメージです。

<?php
	$fruits = ['りんご', 'バナナ', 'みかん'];

	foreach ($fruits as $fruit) {
  	echo $fruit . '<br>';
	}
?>
PHP

このコードは、次の記事で詳しく扱います。

今の段階では、foreach は「配列の中身を順番に取り出すための書き方」と覚えておけば大丈夫です。

PHP 2章では、配列そのものの基本を確認しました。

次のPHP 3章では、foreachを使って、配列の中身を順番に表示する流れに進みます。

配列とforeachは、PHP学習の中でよくセットで出てくる考え方です。

よくあるつまずきポイント

PHPの配列で、最初につまずきやすいポイントを整理しておきます。

配列の番号を1から数えてしまう

配列の最初の番号は 0 です。

$fruits[0]
PHP

これが最初の値です。

次のように $fruits[1] と書くと、2番目の値を取り出します。

$fruits[1]
PHP

PHPの配列は、0から始まると覚えておきましょう。

角かっこと丸かっこを間違える

配列を書く時は、角かっこ [ ] を使います。

$fruits = ['りんご', 'バナナ', 'みかん'];
PHP

値を取り出す時も、角かっこを使います。

echo $fruits[0];
PHP

丸かっこ ( ) ではありません。

カンマを忘れる

配列の値は、カンマで区切ります。

$fruits = ['りんご', 'バナナ', 'みかん'];
PHP

次のようにカンマがないと、正しく書けません。

$fruits = ['りんご' 'バナナ' 'みかん'];
PHP

値の区切りにはカンマを使います。

文字列のクォーテーションを忘れる

文字列を配列に入れる時は、クォーテーションで囲みます。

$fruits = ['りんご', 'バナナ', 'みかん'];
PHP

次のように書くと、エラーの原因になります。

$fruits = [りんご, バナナ, みかん];
PHP

文字列は、’ ‘ または ” ” で囲みます。

存在しない番号を指定する

配列に3つの値しかない場合、使える番号は 0、1、2 です。

$fruits = ['りんご', 'バナナ', 'みかん'];
PHP

この場合、$fruits[3] は存在しません。

echo $fruits[3];
PHP

存在しない番号を指定すると、警告やエラーの原因になることがあります。

今日のまとめチェック

この記事の内容は、次のポイントが分かればOKです。

  • 配列は複数の値をまとめて扱うものだと分かった
  • 配列は [ ] の中に値を並べて書くと分かった
  • 配列の値はカンマで区切ると分かった
  • 配列の番号は0から始まると分かった
  • $fruits[0] のように書くと値を取り出せると分かった
  • print_r で配列の中身を確認できると分かった
  • 配列は次のforeachにつながると分かった

全部を暗記する必要はありません。

まずは、配列は「複数の値をまとめて入れる箱」で、最初の番号は0から始まる。
この2つを押さえておけば大丈夫です。

まとめ

今回は、PHPの配列について整理しました。

配列を使うと、複数の値を1つの変数にまとめて入れられます。

<?php
	$fruits = ['りんご', 'バナナ', 'みかん'];
?>
PHP

配列の値は、インデックス番号を使って取り出します。

echo $fruits[0];
PHP

この場合、0番目の値である「りんご」が表示されます。

PHPの配列では、最初の番号が0から始まります。

これは最初に少し戸惑いやすいですが、配列を使う上でとても大事なポイントです。

PHP 2章では、変数、文字列と計算、if文、配列を見てきました。

次のPHP 3章では、foreachを使って、配列の中身を順番に表示する方法へ進みます。

PR:PHP学習の最初の参考書として、必要な方だけ見てください。
記事内の内容だけでも進められますが、手元に1冊あると、
PHPの基本文法やフォーム処理をまとめて確認しやすくなります。
※価格や在庫、版数は変わるため、最終確認はリンク先でお願いします。

次に読む

次は、PHP 3章に進みます。

PHP 3-1では、foreachを使って、配列の中身を順番に表示する方法を確認します。
配列を学んだ直後にforeachへ進むと、流れがかなり分かりやすくなります。

※次の記事:PHPのforeach|配列の中身を順番に表示するは
 現在準備中です。公開後にこの記事からリンクします。

PHP 2章の流れ

PHP 2章では、次の順番で基本文法を学びました。

  • PHP 2-1:PHPの変数とは?文字や数字を入れて使う基本
  • PHP 2-2:PHPの文字列と計算。つなげる・表示する・計算する
  • PHP 2-3:PHPのif文。条件によって表示を変える基本
  • PHP 2-4:PHPの配列とは?複数のデータをまとめて扱う

次のPHP 3章の流れ

PHP 3章では、配列とフォーム処理に進みます。

  • PHP 3-1:PHPのforeach。配列の中身を順番に表示する
  • PHP 3-2:PHPフォームの基本。入力した文字を受け取る
  • PHP 3-3:GETとPOSTの違い。フォーム送信の基本を整理する
  • PHP 3-4:PHPで簡単なお問い合わせフォームの形を作る

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

ABOUT ME
toshi
toshi
フルスタックエンジニア
C型肝炎や感染症の闘病を経て現在通院中
フリーランスとして今日を生きる、それがすべて。
静かな光の中で、歩みを止めずに生きていく。
実験大好きなので色々とやっていきます。
記事URLをコピーしました