• Xでシェア
  • LINEでシェア
  • このエントリーをはてなブックマークに追加

PHP 配列(array)の使い方

この記事のポイント

  • PHPの配列|データ集合を効率的に管理できる柔軟なデータ構造
  • 連想配列による高度なキーと値のマッピング機能
  • 多次元配列によるデータの階層化と構造化

目次

PHPの配列とは?

PHPの配列は、複数データを単一変数に格納できる柔軟なデータ構造です。

PHPでは、通常の数値インデックスによる配列に加えて、文字列をキーとして使用できる連想配列もサポートしています。これらの配列は、データと識別子を直感的に関連付けることを可能とするものです。

PHPの配列は可変長であり、異なるデータ型の要素を混在させられる特徴もあります。データベースの結果セットの処理、フォームデータの管理、設定オプションの保存など、あらゆるPHPアプリケーションで中心的な役割を果たす機能でしょう。

PHPでは、配列操作のための豊富な組み込み関数も提供しています。こうしたツールをうまく活用することで、データの追加、削除、ソート、フィルタリングなどの操作も簡単に行えるでしょう。

【関連】
PHPをもっと詳しく学ぶならpaizaラーニング

基本構文

PHPの配列には主に2つの種類があります。1つ目は数値インデックスを使った標準配列です。 []記号または array() 関数を使って作成できます。

// 短い構文(PHP 5.4以降) $animals = ["イヌ", "ネコ", "ウサギ"]; // 従来の構文 $animals = array("イヌ", "ネコ", "ウサギ");

2つ目は連想配列です。文字列や数値をキーとして使用できます。

// 短い構文 $animalSounds = [ "イヌ" => "ワンワン", "ネコ" => "ニャー", "ウシ" => "モー" ];

配列要素へのアクセスでは、角括弧を使います。標準配列ではインデックス番号(0から始まる)を、連想配列ではキーを指定する形です。

echo $animals[0]; // イヌ echo $animalSounds["ネコ"]; // ニャー

実用例

PHPの配列は、さまざまな場面で利用できる汎用的なデータ構造です。ここでは実際のコード例を通じて、配列の基本的な使い方から高度な活用方法までを詳しく見ていきましょう。

PHPにおける配列の機能や仕組みを詳しく理解し、実際のアプリケーション開発で適材適所の活用をするためには、自分の環境にコードを入れて使ってみる経験が必要です。

初心者のうちは、エラーが出たり思うような出力結果が得られなかったりすることもあるかもしれません。しかし、そのような「壁」を乗り越える経験は、PHPプログラミング力の向上に欠かせないものとなります。これから紹介するコード例をぜひとも積極的に使ってみてください。

基本的な配列の作成と操作

配列は、複数の値を順序付けて格納するための基本的なデータ構造です。PHPには、数値インデックス配列を簡単に作成・操作できる特徴があります。

インデックスは0から始まり、角括弧を使用して各要素にアクセスします。この仕組みをうまく活用すると、関連データをまとめて管理することが可能です。また、ループ処理との組み合わせることで、データ処理の効率化も実現するでしょう。

<?php $animals = ["イヌ", "ネコ", "ウサギ", "ハムスター"]; echo $animals[0] . "\n"; // 最初の要素 $animals[1] = "トラ"; // 要素の変更 print_r($animals); ?>

出力結果:

イヌ
Array
(
    [0] => イヌ
    [1] => トラ
    [2] => ウサギ
    [3] => ハムスター
)

連想配列の活用

連想配列では、数値の代わりに意味のある名前をキーとして使用できます。この仕組みによってデータがより自己説明的になると、コードの可読性も向上するでしょう。以下のコード例は、設定情報やユーザーデータの管理といったキーと値のペアでデータを整理したい場合に役立つものです。

<?php $animalSounds = ["イヌ" => "ワンワン", "ネコ" => "ニャー"]; echo "イヌの鳴き声: " . $animalSounds["イヌ"] . "\n"; echo "ネコの鳴き声: " . $animalSounds["ネコ"] . "\n"; ?>

出力結果:

イヌの鳴き声: ワンワン
ネコの鳴き声: ニャー

多次元配列の構築

多次元配列は、配列のなかに配列を格納する構造です。いわゆる「入れ子」や「ネスト」と呼ばれるものになります。この仕組みをうまく活用すると、複雑なデータの階層化が可能になるでしょう。

具体的には、カテゴリごとに分類されたデータや、テーブル形式のデータの表現が可能となります。データベースの結果セットやJSONデータの構造化などを行ううえで適したテクニックでしょう。

<?php $animals = ["哺乳類" => ["イヌ", "ネコ"], "鳥類" => ["ワシ", "スズメ"]]; echo "哺乳類の例: " . $animals["哺乳類"][0] . "\n"; echo "鳥類の例: " . $animals["鳥類"][1] . "\n"; ?>

出力結果:

哺乳類の例: イヌ
鳥類の例: スズメ

配列の追加と削除

PHPでは、配列の要素を追加・削除するための関数を多数用意しています。例えば、array_push()とarray_pop()は配列の末尾に対する操作、array_unshift()とarray_shift()は配列の先頭に対する操作を行う関数です。これらの関数を活用することで、スタックやキューなどのデータ構造も実装しやすくなります。

<?php $animals = ["イヌ", "ネコ"]; array_push($animals, "ウサギ"); // 末尾に追加 array_unshift($animals, "キリン"); // 先頭に追加 print_r($animals); ?>

出力結果:

Array
(
    [0] => キリン
    [1] => イヌ
    [2] => ネコ
    [3] => ウサギ
)

配列のソート

PHPでは、さまざまな配列ソート関数を用意しています。数値インデックス配列で使えるものには、sort() や rsort()、連想配列には asort()、arsort()、ksort()、krsort() などがあります。これらの関数を活用すると、データを昇順・降順に整理したり、キーや値に基づいてソートしたりできるでしょう。

<?php $weights = [70, 45, 100, 30]; sort($weights); // 昇順ソート print_r($weights); $animalWeights = ["ゾウ" => 5000, "ライオン" => 190]; asort($animalWeights); // 値でソート print_r($animalWeights); ?>

出力結果:

Array
(
    [0] => 30
    [1] => 45
    [2] => 70
    [3] => 100
)
Array
(
    [ライオン] => 190
    [ゾウ] => 5000
)

配列の検索と絞り込み

PHPには、配列内の特定のデータを検索したり、条件に合う要素を絞り込んだりする機能も備わっています。例えば、in_array()で値の存在確認、array_search()でキーの検索、array_filter()で条件に基づいたフィルタリングが可能となります。

<?php $animals = ["イヌ", "ネコ", "ウサギ"]; if (in_array("ネコ", $animals)) { echo "ネコが見つかりました\n"; } $position = array_search("ウサギ", $animals); echo "ウサギの位置: " . $position; ?>

出力結果:

ネコが見つかりました
ウサギの位置: 2

配列関数の活用

PHPでは、配列操作で使える関数を多数用意しています。例えば、array_merge()での配列結合、array_unique()での重複除去、count()での要素数カウント、array_flip()でのキーと値の入れ替えなど、さまざまな操作が簡単に実行できるでしょう。

<?php $animals1 = ["イヌ", "ネコ"]; $animals2 = ["ウサギ", "リス"]; $allAnimals = array_merge($animals1, $animals2); // 配列結合 print_r($allAnimals); $duplicates = ["イヌ", "ネコ", "イヌ"]; $unique = array_unique($duplicates); // 重複除去 print_r($unique); ?>

出力結果:

Array
(
   [0] => イヌ
   [1] => ネコ
   [2] => ウサギ
   [3] => リス
)
Array
(
    [0] => イヌ
    [1] => ネコ
)

配列と文字列の変換

PHPでは、配列と文字列の相互変換も簡単に行えます。例えば、implode()関数で配列を文字列に結合し、explode()関数で文字列を配列として分割できます。これらの関数は、データ形式の変換やデータベースとの連携などで役立つでしょう。

<?php $animals = ["イヌ", "ネコ", "ウサギ"]; $animalList = implode(", ", $animals); // 配列→文字列 echo "動物リスト: " . $animalList . "\n"; $colors = "アカ,アオ,キイロ"; $colorArray = explode(",", $colors); // 文字列→配列 print_r($colorArray); ?>

出力結果:

動物リスト: イヌ, ネコ, ウサギ
Array
(
    [0] => アカ
    [1] => アオ
    [2] => キイロ
)

まとめ

配列は、データを効率的に管理するための強力ツールです。

PHPの配列では、標準配列と連想配列の両方をサポートし、多次元構造も構築可能であることから、あらゆる種類のデータ構造実現に役立ちます。

また、実用例で紹介した豊富な組み込み関数を使用することで、データの追加、削除、ソート、検索、変換などの操作も簡単に行えるでしょう。

Webアプリケーション開発では、フォームデータの処理、データベース結果の管理、JSONデータの操作といった多くの場面で配列が活用されています。

PHPプログラミングをマスターするためには、配列の扱いに習熟することが不可欠です。この記事で紹介した基本から応用までの技術を身につけることで、より効率的で堅牢なコードを書けるようになるでしょう。

レベルを更に上げたい方はpaizaプログラミングスキルチェックへ

  1. paizaラーニングトップ
  2. リファレンス
  3. PHPのリファレンス記事一覧
  4. PHP 配列(array)の使い方