Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【PHP】配列の書き方と使い方の基本

この記事では、PHPの配列の基本的な書き方と使い方を学びます。複数のデータを効率的に管理する配列の概念から、定義方法、要素の追加・更新・削除、検索、ソートといった基本的な操作まで、実践的なコード例を通して初心者にもわかりやすく解説します。

作成日: 更新日:

開発環境

  • OS: Windows10
  • Editor: Visual Studio Code
  • PHP: 8.0以降

PHPの配列とは

PHPにおける「配列」とは、複数の値をひとつの変数にまとめて格納できるデータ構造のことです。通常、ひとつの変数にはひとつの値しか格納できませんが、配列を使うことで、関連する複数のデータを効率的に管理できるようになります。

配列の中に格納されているひとつひとつのデータのことを「要素」と呼びます。

そして、配列の中に全部でいくつの要素が入っているかを示すのが「要素数」です。

配列のそれぞれの要素には、特定のデータを取り出すための識別子として「インデックス番号」が割り当てられています。このインデックス番号は、多くのプログラミング言語と同様に、0から順番に割り当てられる数値の添字です。例えば、配列の最初の要素はインデックス番号0で、次の要素はインデックス番号1でアクセスします。

配列はその構造によって分類されます。 「1次元配列」とは、データが一列に並んだシンプルな構造の配列を指します。 「2次元配列」とは、データが二列(または行と列)のように縦横に並んだ構造の配列を指します。 さらに、2列以上の複雑な構造を持つ配列は、総称して「多次元配列」と呼びます。

サンプルコード

php/chapter05/01.php

PHPで配列を定義する基本的な方法の一つです。array() の中に、カンマ区切りで要素を記述します。これにより、複数のデータを一つの変数にまとめて管理できます。

01.php
1<?php
2// 配列の基本的な書き方
3// array() で指定する書き方
4$array = array("apple", "banana", "cherry");
5

php/chapter05/02.php

こちらも配列を定義する方法の一つで、より短く記述できる「短縮構文」と呼ばれています。角括弧 [] の中に要素を記述します。この書き方はPHP 5.4以降で利用可能です。

02.php
1<?php
2// []で指定する書き方(配列の短縮構文)
3$array = ["apple", "banana", "cherry"];
4

php/chapter05/03.php

配列を最初に空の状態で作ることを「初期化」といいます。これは、後から要素を追加していく場合に便利です。このコードでは、空の角括弧 [] を使うことで、中身のない配列を作成しています。

03.php
1<?php
2// 配列の操作
3// 配列を初期化する
4$array = [];
5

php/chapter05/04.php

配列に格納された個々のデータを取り出すには、「インデックス」と呼ばれる番号を使用します。インデックスは 0 から始まり、各要素に順番に割り当てられています。例えば $array[0] は最初の要素を、$array[2] は3番目の要素を指します。

04.php
1<?php
2// 配列の要素を取得する
3$array = ["apple", "banana", "cherry"];
4echo $array[0];  // 出力: apple
5echo $array[2];  // 出力: cherry
6

php/chapter05/05.php

既存の配列に新しい要素を追加できます。配列名の後に空の角括弧 [] をつけると、配列の末尾に新しい要素が自動的に追加されます。print_r() 関数は、配列の内容を確認するために使用します。

05.php
1<?php
2// 配列に要素を追加する
3$fruits = ["apple", "banana", "cherry"];
4$fruits[] = "orange";
5print_r($fruits);  // 出力: Array ( [0] => apple [1] => banana [2] => cherry [3] => orange )
6

php/chapter05/06.php

配列の特定のインデックスにある要素の値を変更(更新)できます。変更したい要素のインデックスを指定し、新しい値を代入することで更新が行われます。

06.php
1<?php
2// 配列の要素を更新する
3$fruits = ["apple", "banana", "cherry"];
4$fruits[1] = "blueberry";
5print_r($fruits);  // 出力: Array ( [0] => apple [1] => blueberry [2] => cherry )
6

php/chapter05/07.php

配列から特定の要素を削除するには、unset() 関数を使用します。削除したい要素のインデックスを指定します。要素が削除されると、そのインデックスはなくなります。

07.php
1<?php
2// 配列の要素を削除する
3$fruits = ["apple", "banana", "cherry"];
4unset($fruits[1]);
5print_r($fruits);  // 出力: Array ( [0] => apple [2] => cherry )
6

php/chapter05/08.php

複数の配列を一つにまとめることができます。array_merge() 関数を使用すると、引数で渡された複数の配列の要素を順に結合し、新しい一つの配列を作成します。

08.php
1<?php
2// 配列を結合する
3$fruits1 = ["apple", "banana"];
4$fruits2 = ["cherry", "orange"];
5$mergedFruits = array_merge($fruits1, $fruits2);
6print_r($mergedFruits);  // 出力: Array ( [0] => apple [1] => banana [2] => cherry [3] => orange )
7

php/chapter05/09.php

配列にいくつの要素が格納されているか、その数を取得するには count() 関数を使用します。これにより、配列の「長さ」または「要素数」を知ることができます。

09.php
1<?php
2// 配列の長さを取得する
3$fruits = ["apple", "banana", "cherry"];
4$length = count($fruits);
5echo "配列の長さ: $length\n";  // 出力: 配列の長さ: 3
6

php/chapter05/10.php

配列の中に特定の要素が存在するかどうかを調べるには、in_array() 関数を使用します。この関数は、検索したい値と対象の配列を引数として受け取り、存在すれば true (真)、存在しなければ false (偽) を返します。var_export() 関数は、変数の構造と値を文字列で出力します。

10.php
1<?php
2// 配列の検索
3$fruits = ["apple", "banana", "cherry"];
4$result = in_array("apple", $fruits);
5echo var_export($result);
6

php/chapter05/11.php

配列の要素を特定の順序に並べ替えることを「ソート」といいます。sort() 関数は、配列の要素を昇順(小さい方から大きい方へ、またはアルファベット順)に並べ替えます。

11.php
1<?php
2// 配列のソート
3sort($fruits);  // 配列を昇順にソート
4print_r($fruits);  // 出力: Array ( [0] => apple [1] => blueberry [2] => orange )
5

php/chapter05/12.php

このコードは、1から10までの数字を含む配列を作成し、その中のすべての数字の合計を計算する例です。foreach ループを使用することで、配列の各要素を順番に取り出し、それらを合計に加算しています。

12.php
1<?php
2// 1から10までの数字の配列を作成し、配列の合計を求める練習問題
3$numbers = range(1, 10);
4$numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
5$sum = 0;
6
7foreach ($numbers as $number) {
8    $sum += $number;
9}
10
11echo "合計: $sum\n";
12

おわりに

この記事では、PHPで複数のデータを効率的に管理する「配列」の基本概念と、快適なプログラミングに必要な開発環境について学習しました。配列の定義方法として array() や [] の短縮構文を使い、インデックス番号を使って要素の取得、追加、更新、削除を行う方法を習得しました。さらに、array_merge() による配列の結合、count() による要素数の取得、in_array() による検索、sort() による並べ替えといった実践的な操作も学びました。これらの配列操作の基礎は、今後のシステム開発において非常に重要な知識となりますので、ぜひ繰り返し練習して確実な理解を深めてください。

関連コンテンツ