【サクッと解説】PHP 配列の基本とよく使う操作パターン

目次

1. 本記事のポイント

  • PHPにおける配列の基本構文と使い方を整理
  • よく使う操作(追加、削除、検索、結合など)を具体的に紹介
  • 実務でありがちなミスや設計判断の注意点も解説

2. PHPの配列とは?

PHPの配列(array)は、複数の値を1つの変数でまとめて扱える柔軟なデータ構造です。インデックス配列、連想配列、そしてその混在型という3種類が存在します。

インデックス配列は数値キー、連想配列は文字列キーを使用し、用途に応じて自由に切り替えられるのが特徴です。PHPの配列は内部的にはハッシュテーブルとして実装されており、キーの型に柔軟に対応しています。

実務では、データのまとまり(リスト、設定情報、DB結果の保持など)を扱う場面で広く使用されており、パフォーマンスや可読性の観点からも適切な操作が求められます。

3. 詳細解説

配列の作成と基本アクセス

もっとも基本的な配列の生成とアクセス方法です。

PHP
// インデックス配列
$colors = ["red", "green", "blue"];
echo $colors[1]; // 出力: green

// 連想配列
$user = ["name" => "Alice", "age" => 30];
echo $user["name"]; // 出力: Alice

PHP 5.4以降はarray()の代わりに短縮構文[]が使用可能です。

要素の追加と削除

末尾への追加、特定要素の削除には以下の関数が使われます。

PHP
// 追加
$colors[] = "yellow";
array_push($colors, "pink");

// 削除
unset($colors[1]); // "green"を削除

unset()はキーの削除のみで、インデックスは再構成されません。

要素の存在確認と検索

値やキーの存在確認には以下を用います。

PHP
in_array("red", $colors); // true
array_key_exists("name", $user); // true

値の位置を検索したい場合は、array_search()が便利です。

PHP
$key = array_search("blue", $colors); // 出力: 2

配列の結合と分解

配列を連結・分割する典型的な方法です。

PHP
// 結合
$merged = array_merge($colors, ["black", "white"]);

// 分割
$chunked = array_chunk($colors, 2);

文字列と配列の相互変換もよく使われます。

PHP
$str = "a,b,c";
$arr = explode(",", $str);
$joined = implode("-", $arr); // 出力: a-b-c

4. よくあるミス・誤解・落とし穴

unset後の配列インデックスのズレ

unset()でインデックスを削除しても、再インデックス化されません。そのため、foreachなどで想定外の挙動をする場合があります。

PHP
$arr = ["a", "b", "c"];
unset($arr[1]);
print_r($arr);
// 出力: Array ( [0] => a [2] => c )

必要に応じてarray_values()で再構成することが推奨されます。

キーの重複と上書き

連想配列で同じキーが複数回出現すると、後の値で上書きされます。これにより、意図しないデータの消失が発生する場合があります。

PHP
$arr = ["key" => "A", "key" => "B"];
echo $arr["key"]; // 出力: B

配列関数の戻り値と副作用

一部の配列関数(例:array_splice())は引数を直接変更します。戻り値と操作対象の両方に注意を払う必要があります。

5. まとめ

  • 配列はインデックス配列・連想配列を中心に柔軟に使える構造
  • 追加・削除・検索・結合などの操作パターンを適切に使い分ける
  • unset後の再構成、キー重複、関数の副作用に注意が必要
  • 実務では明示的な意図が伝わる記述が重要
よかったらシェアしてね!
  • URLをコピーしました!
目次