ログログ

雑学エンジニアが学んだことの記録

プログラミング PHP

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

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

配列とは?

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

定義

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

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

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

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

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

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

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

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


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

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

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

まとめ

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

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

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


関連記事

no image

prepareステートメントの挙動について調べてみた

目次 調べるきっかけ調べたコード 調べるきっかけ PHPでSQLをセキュアに記述する方法としてprepareステートメントが推奨されているが、なぜなのかがわからず、挙動を調べれば自分なりに納得のいく答 …

PHPerがJavaを学ぶ5つのメリット

PHPerである私が会社でJavaの研修担当となり、私自身も大学生以来のJavaを勉強しなおして感じたことを書いていきたいと思います。 目次 対象読者1.オブジェクト指向がきちんとわかるようになる2. …

Redmineでリンクにできない場合にチェックすること

目次 リンクにできない場合のチェック項目リンクにするには?リンクにできる例リンクにできない例 リンクにできない場合のチェック項目 前後に文字列がくっついている。 前後に全角スペースがある。 リンクの# …

no image

XSS対策の基本は入力値制限とサニタイジング(無害化)の2つ

XSS(クロスサイトスクリプティング)の基本的な対策は何をすればいいのかがぼんやりしている方向けの書いています。 対策方法はタイトルの通り、XSS(クロスサイトスクリプティング)対策の基本は入力値制限 …

no image

GitでIndexが壊れたときの直し方

これは自分の環境用の備忘録です。 (状況) Virtual BOX内のGit環境において、INDEXが0KBになっている。(INDEXが壊れている) (対処方法) リモート環境から新しくCloneして …