手に取るように理解できる!PHP多次元配列の使い方と応用例7選

PHP多次元配列の使い方と応用例を解説するイラスト PHP
この記事は約6分で読めます。

【サイト内のコードはご自由に個人利用・商用利用いただけます】

この記事では、プログラムの基礎知識を前提に話を進めています。

説明のためのコードや、サンプルコードもありますので、もちろん初心者でも理解できるように表現してあります。

基本的な知識があればサンプルコードを活用して機能追加、目的を達成できるように作ってあります。

※この記事は、一般的にプロフェッショナルの指標とされる『実務経験10,000時間以上』を凌駕する現役のプログラマチームによって監修されています。

サイト内のコードを共有する場合は、参照元として引用して下さいますと幸いです

※Japanシーモアは、常に解説内容のわかりやすさや記事の品質に注力しております。不具合、分かりにくい説明や不適切な表現、動かないコードなど気になることがございましたら、記事の品質向上の為にお問い合わせフォームにてご共有いただけますと幸いです。
(送信された情報は、プライバシーポリシーのもと、厳正に取扱い、処分させていただきます。)

はじめに

あなたがPHPの多次元配列について学びたいと思ったとき、どんな質問が浮かんできますか?

何から始めていいかわからないという方も多いでしょう。

この記事を読むことで、PHPの多次元配列の作り方、使い方、注意点、カスタマイズ方法について理解することができるようになります。

●PHP多次元配列とは

PHPの多次元配列とは、配列の中にさらに配列を持つことができる構造のことを指します。

1つの配列が多くの情報を含むことができ、データの管理や操作をより効率的に行うことができます。

○多次元配列の基本概念

PHPの配列は、値を格納するための箱のようなもので、多次元配列はその箱の中にさらに箱(配列)がある状態をイメージするとわかりやすいです。

例えば、2次元配列は行と列の二方向でデータを管理することができ、表形式のデータを扱うのに適しています。

●PHP多次元配列の作り方

次に、PHPで多次元配列を作成する方法について見ていきましょう。

○サンプルコード1:2次元配列の作成

2次元配列を作るための簡単な例を見てみましょう。

この例では、生徒の名前と成績を2次元配列で管理しています。

$students = array(
    array("name" => "田中", "score" => 80),
    array("name" => "佐藤", "score" => 90),
    array("name" => "鈴木", "score" => 85),
);

○サンプルコード2:3次元配列の作成

次に、3次元配列を作成する例を見てみましょう。

ここでは、各クラスの生徒とその成績を3次元配列で管理しています。

$school = array(
    "A組" => array(
        array("name" => "田中", "score" => 80),
        array("name" => "佐藤", "score" => 90),
    ),
    "B組" => array(
        array("name" => "鈴木", "score" => 85),
        array("name" => "高橋", "score" => 95),
    ),
);

この3次元配列では、最初の次元(キー)がクラス名を、2つ目の次元がそのクラスの生徒情報の配列を、そして最後の次元が各生徒の名前と成績を表しています。

●PHP多次元配列の使い方

PHPで多次元配列を作成できるようになったら、次はその使い方について学んでいきましょう。

○サンプルコード3:多次元配列からデータを取り出す

多次元配列からデータを取り出す方法を紹介します。

この例では、先ほど作成した3次元配列から、特定のクラスの特定の生徒の成績を取り出しています。

$score = $school["A組"][0]["score"];
echo $score;  // 出力結果:80

○サンプルコード4:多次元配列へデータを追加する

次に、多次元配列にデータを追加する方法を紹介します。

この例では、新たな生徒の情報を既存のクラスに追加しています。

$school["A組"][] = array("name" => "山田", "score" => 88);

これで、”A組”に新たな生徒”山田”の情報が追加されました。

●PHP多次元配列の注意点と対処法

多次元配列は便利ですが、間違った使い方をすると予期しない結果を引き起こすことがあります。

例えば、存在しないインデックスにアクセスしようとしたり、配列の型が期待したものでない場合などです。

これらの問題を避けるためには、isset関数やarray_key_exists関数を使って、配列の要素やキーが存在することを確認することが重要です。

●PHP多次元配列のカスタマイズ方法

PHPの多次元配列は、多様な操作が可能であり、ソートやフィルタリングなどのカスタマイズも行うことができます。

次に、その具体的な方法を見ていきましょう。

○サンプルコード5:配列のソート

PHPの多次元配列をソートする方法を説明します。

このコードでは、usort関数を使って配列をソートしています。

この例では、生徒の成績順に配列をソートしています。

usort($school["A組"], function($a, $b) {
    return $b["score"] - $a["score"];
});

このコードでは、usort関数と無名関数を使って配列を成績の降順にソートしています。この結果、”A組”の生徒情報は成績順に並び替えられます。

○サンプルコード6:配列のフィルタリング

次に、配列から特定の条件を満たす要素のみを取り出すフィルタリングの方法を見ていきましょう。

このコードでは、array_filter関数を使って、成績が90点以上の生徒のみを取り出しています。

$high_scores = array_filter($school["A組"], function($student) {
    return $student["score"] >= 90;
});

このコードでは、array_filter関数と無名関数を使って、成績が90点以上の生徒の情報だけを新しい配列に格納しています。

●PHP多次元配列の応用例

次に、PHPの多次元配列の具体的な応用例を見ていきましょう。

○サンプルコード7:多次元配列を用いた簡易データベースの作成

多次元配列は、簡易的なデータベースのように使用することもできます。

この例では、商品情報を管理する簡易データベースを作成しています。

$products = array(
    array("id" => 1, "name" => "商品A", "price" => 1000),
    array("id" => 2, "name" => "商品B", "price" => 2000),
    array("id" => 3, "name" => "商品C", "price" => 1500),
);

ここでは、各商品のID、名前、価格を一つの配列にまとめ、それらをさらに配列に格納することで、商品情報のリストを作成しています。

まとめ

この記事では、PHPの多次元配列について学びました。

それは、その作成方法、操作方法、さらにはカスタマイズ方法まで、幅広く扱いました。

多次元配列の生成では、単純なものから複雑なものまで、様々な形の配列を作成することができました。

また、特定のデータを取り出したり、新たなデータを追加したりする方法についても学びました。

さらに、多次元配列のカスタマイズ方法として、ソートやフィルタリングの手法を紹介しました。

これらの機能を用いることで、より具体的で複雑なデータ操作が可能になります。

最後に、多次元配列を使用した具体的な応用例として、簡易的なデータベースの作成をご紹介しました。

これにより、多次元配列がどのように実際のプログラミングで使用されるのか、その一端を垣間見ることができました。

PHPの多次元配列は、その柔軟性と汎用性から、様々な場面で活用できます。

これらの基本的な知識とスキルを身につけることで、より効率的で洗練されたコードの記述が可能となります。

これらの知識が、皆さんのPHPプログラミングの一助となれば幸いです。