
【6日でできるPHP入門】配列の操作
配列は、PHPで複数のデータを効率よく管理・操作するための非常に重要な仕組みです。しかし「配列」は作って終わりではありません。現実の開発では、値の変更・追加・削除や順序の入れ替えなど、さまざまな「配列操作」が必要になります。この記事では、配列の要素の追加・削除・変更・並べ替え・検索など、多様な操作方法について、具体的なサンプルを使って解説していきます。

1. 配列要素の追加・変更・削除
1.1. 配列の生成と値の変更
まずは基本となる「配列の生成」「要素の値の変更」についてです。
操作内容 | サンプルコード | 結果例 |
---|---|---|
配列の生成 | $colors = ["赤", "青", "黄"]; | ["赤", "青", "黄"] |
値の変更 | $colors[1] = "緑"; | ["赤", "緑", "黄"] |
要素の追加 | $colors[] = "白"; | ["赤", "緑", "黄", "白"] |
サンプルプログラム
ファイル名: lesson37_1.php
<?php
$colors = ["赤", "青", "黄"];
$colors[1] = "緑"; // 2番目を変更
$colors[] = "白"; // 配列末尾に追加
print_r($colors);
?>
実行結果

1.2. 配列の要素削除・先頭/末尾の操作
PHPには配列の「先頭」「末尾」の要素を簡単に削除・追加できる便利な関数があります。
関数 | 主な用途 | サンプルコード | 説明 |
---|---|---|---|
array_pop | 配列の末尾を削除 | array_pop($colors); | 最後の要素が消える |
array_push | 配列の末尾に要素を追加 | array_push($colors, "紫"); | 複数同時追加も可能 |
array_shift | 配列の先頭を削除 | array_shift($colors); | 先頭の要素が消える |
array_unshift | 配列の先頭に要素を追加 | array_unshift($colors, "橙"); | 先頭に追加、複数も可 |
unset | 任意の添字の要素を削除 | unset($colors[1]); | 特定の要素を消す |
array_values | 添字を振りなおして再配列化 | $colors = array_values($colors); | 添字の隙間をなくす |
サンプルプログラム
ファイル名: lesson37_2.php
<?php
$colors = ["赤", "青", "黄"];
array_pop($colors); // 末尾の「黄」を削除
array_push($colors, "紫", "白"); // 末尾に2つ追加
array_shift($colors); // 先頭の「赤」を削除
array_unshift($colors, "橙"); // 先頭に「橙」を追加
unset($colors[1]); // 添字1(「紫」)を削除
$colors = array_values($colors); // 添字の振りなおし
print_r($colors);
?>
実行結果

2.配列操作の主な関数と使い方
2.1. 配列の並べ替え・検索
配列を「並び替え」たり、「値を探したり」する関数もあります。
関数 | 主な用途 | サンプル |
---|---|---|
sort | 値を昇順に並び替える | sort($numbers); |
rsort | 値を降順に並び替える | rsort($numbers); |
in_array | 指定値が含まれるか調べる | in_array("緑", $colors); |
array_search | 値の位置(添字)を調べる | array_search("白", $colors); |
サンプルプログラム
ファイル名: lesson37_3.php
<?php
$numbers = [7, 2, 5];
sort($numbers); // 昇順
print_r($numbers);
rsort($numbers); // 降順
print_r($numbers);
$colors = ["赤", "青", "緑"];
if (in_array("緑", $colors)) {
echo "<br>緑は含まれています<br>";
}
$idx = array_search("青", $colors);
echo "青は{$idx}番目です";
?>
実行結果

2.2. 配列の結合や分割
- 複数の配列をまとめたいときは
array_merge
- 配列を区切り文字で1つの文字列に変換したいときは
implode
- 逆に、文字列を区切りで分割して配列にしたいときは
explode
関数 | 主な用途 | サンプルコード |
---|---|---|
array_merge | 複数配列の結合 | $new = array_merge($a, $b); |
implode | 配列→文字列に変換 | $str = implode(",", $colors); |
explode | 文字列→配列に変換 | $ary = explode(",", $str); |
サンプルプログラム
ファイル名: lesson37_4.php
<?php
$a = ["A", "B"];
$b = ["C", "D"];
$new = array_merge($a, $b);
print_r($new);
echo "<br>";
$colors = ["赤", "青", "緑"];
$str = implode("-", $colors);
echo $str; // 赤-青-緑
echo "<br>";
$ary = explode("-", $str);
print_r($ary);
?>
実行結果

3.配列操作の応用例
3.1. 配列の全要素を処理(foreach)
配列の全要素を1つずつ処理したい場合はforeach
文が便利です。
ファイル名: lesson37_5.php
<?php
$fruits = ["りんご", "バナナ", "みかん"];
foreach ($fruits as $fruit) {
echo "フルーツ: {$fruit}<br>";
}
?>
実行結果

まとめ
- 配列の要素の追加・削除・変更には専用の関数や文法が用意されている。
- 配列の並び替え・検索・結合・分割も簡単にできる。
- 添字が欠番になる場合は
array_values
で振り直し。 - 現場のPHP開発では配列操作のパターンを知っているかどうかが重要!
配列の操作はPHPプログラミングの基礎力の一つです。いろいろなサンプルを実際に書いて試すことで、配列の理解がどんどん深まります。