プログラミング PHP

【PHP】配列と連想配列と多次元配列の説明と使用例

投稿日:2019年2月10日 更新日:

配列とは?

1つの変数に複数の値を持つものです。
整数型や文字列型は1つの変数に1つの値を持ちますが、配列は同じようなデータの集まりを1つの変数に持つことができるようになっています。
配列には通常の添字配列、連想配列、多次元配列があります。
では1つずつ説明していきます。

定義

配列(添字配列)
複数の値を持つ変数。
値を特定するために、数字のキー(Key)を持つ。
このキーは重複することはありません。
それによって、どのキーがどの値を持つかを特定することができるようになっています。

連想配列
配列と同様に、複数の値を持つ変数。
配列との違いは、キーが数字ではなく文字列であること。

多次元配列
配列を値として持つ配列のこと。
配列の中にさらに配列がある状態になっています。
以降の例で実際のデータで確認して頂くとわかりやすいかと思います。

配列(添字配列)
まず通常の配列に何らかの値をセットし、それを表示させる例です。
(短縮構文で書いておりますので、PHP5.4以降対応です。)

添字となるキーが0から順に振られて値に紐づいていることがわかると思います。
これが通常の配列です。

キーが順番になっていない配列もありうるのか?
というと、あり得ます。
以下のように、キーを直接指定することで、キーと値を紐づけた配列データとすることができます。

このように、配列はキーと値を持ちます。
また、取り出し方法としてはforeachで取得するというのが一般的な方法です。

連想配列
連想配列におけるキーの指定は文字列です。


添字配列と連想配列の違いはキーが数字か文字列かの違いだけです。

多次元配列
配列の値が配列になっているというのを、売上データを例に解説します。
以下の配列は、売上データとしては4件ですが、各売上データの中身(ユーザID、販売価格、販売数、販売日時)は配列で保持されています。

上記のコード例では、キーを直接指定して値を取得していますが、foreachを2回使うことでもっと簡単に取得することもできます。

まとめ

・配列には、添字配列、連想配列、多次元配列がある。
・添字配列は数字キー、連想配列は文字列キーの配列である。
・多次元配列は配列の中に配列を持つ構造になっている。
・配列の取り出しにはforeachを使う。

 
最後までお読み頂き、ありがとうございました!
ご意見・ご要望がありましたら、遠慮なくコメント下さい!
もし内容が良かったらランキング評価を頂けると励みになります(^^)

ランキング評価する

-プログラミング, PHP
-, , ,

執筆者:


comment

メールアドレスが公開されることはありません。

CAPTCHA


関連記事

【Node.js】Excel⇔JSON変換する方法

やること 1.ExcelファイルをJSONで取得。 2.JSONの編集後、新しいExcelファイルに出力する。 環境 Node.js ・インストール  https://nodejs.org/ja/   …

no image

画面にonclickを書かずにイベントを発生させる方法

画面にonclickを記述すると、JavaScript側で関数名が変更になった際の修正が面倒になる。 なのでonclickを記述せずにイベントを発生させるように記述することが望ましいと子ドレビューで指 …

正規表現で複数の箇所を入れ替える方法

複数の特定の箇所を入れ替えるテクニックです。 確認環境 Sakuraエディタ 置換方法 ここでは例として、:区切りの前後の文字列を入れ替えてみます。 置換前データ メニュー:AAA メニュー:BBB …

kotlin,

【Kotlin】SpringのテストでUnsatisfiedDependencyExceptionが発生した場合の解消方法

概要 Qurifier指定をしたRepositoryをDIしたContollerをテストしたときにUnsatisfiedDependencyExceptionが発生した状況と解決方法です。 (参考書籍 …

2進数を使うと判定がシンプルになる!(じゃんけんプログラム編)

概要 仕事で2進数を使った判定処理について学んだので共有したくて執筆しました。 仕事上で設計したロジックは本記事で紹介するものより複雑でしたが、本質的な部分は変わらないので使って頂けると思います。 説 …

SpringFramworkの良書

■おすすめ教材
Javaの基本を学んだ人が、次のステップとして読む本(中級者向け)

※SpringはJavaのFrameworkの1つです。
変更のしやすさ、保守性の高さが特徴です。