【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.php1<?php 2// 配列の基本的な書き方 3// array() で指定する書き方 4$array = array("apple", "banana", "cherry"); 5
php/chapter05/02.php
こちらも配列を定義する方法の一つで、より短く記述できる「短縮構文」と呼ばれています。角括弧 [] の中に要素を記述します。この書き方はPHP 5.4以降で利用可能です。
02.php1<?php 2// []で指定する書き方(配列の短縮構文) 3$array = ["apple", "banana", "cherry"]; 4
php/chapter05/03.php
配列を最初に空の状態で作ることを「初期化」といいます。これは、後から要素を追加していく場合に便利です。このコードでは、空の角括弧 [] を使うことで、中身のない配列を作成しています。
03.php1<?php 2// 配列の操作 3// 配列を初期化する 4$array = []; 5
php/chapter05/04.php
配列に格納された個々のデータを取り出すには、「インデックス」と呼ばれる番号を使用します。インデックスは 0 から始まり、各要素に順番に割り当てられています。例えば $array[0] は最初の要素を、$array[2] は3番目の要素を指します。
04.php1<?php 2// 配列の要素を取得する 3$array = ["apple", "banana", "cherry"]; 4echo $array[0]; // 出力: apple 5echo $array[2]; // 出力: cherry 6
php/chapter05/05.php
既存の配列に新しい要素を追加できます。配列名の後に空の角括弧 [] をつけると、配列の末尾に新しい要素が自動的に追加されます。print_r() 関数は、配列の内容を確認するために使用します。
05.php1<?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.php1<?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.php1<?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.php1<?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.php1<?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.php1<?php 2// 配列の検索 3$fruits = ["apple", "banana", "cherry"]; 4$result = in_array("apple", $fruits); 5echo var_export($result); 6
php/chapter05/11.php
配列の要素を特定の順序に並べ替えることを「ソート」といいます。sort() 関数は、配列の要素を昇順(小さい方から大きい方へ、またはアルファベット順)に並べ替えます。
11.php1<?php 2// 配列のソート 3sort($fruits); // 配列を昇順にソート 4print_r($fruits); // 出力: Array ( [0] => apple [1] => blueberry [2] => orange ) 5
php/chapter05/12.php
このコードは、1から10までの数字を含む配列を作成し、その中のすべての数字の合計を計算する例です。foreach ループを使用することで、配列の各要素を順番に取り出し、それらを合計に加算しています。
12.php1<?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() による並べ替えといった実践的な操作も学びました。これらの配列操作の基礎は、今後のシステム開発において非常に重要な知識となりますので、ぜひ繰り返し練習して確実な理解を深めてください。