配列

変数を宣言するとき、その数が1つや2つなら問題ありません。ですが・・・それが10や20もあるとどうでしょうか?文字列型の変数を一気に大文字にしたい、または数値型の変数をすべて3プラスしたい、そんな場合、式を変数の数だけ書くのはとても疲れます。

プログラムでは、そういった場合とても便利なデータ構造があります。それが今回解説する配列です。

配列とは何か

配列とは何かを触れましょう。以下のようなイメージになります。配列名をarrayとしますね。

値が3つ、順番に1,10,5が格納されている配列を考えます。

array[0]とは1番目の要素を指し、中身は 1
array[1]とは2番目の要素を指し、中身は 10
array[2]とは3番目の要素を指し、中身は 5

配列の中身を要素といいます。角カッコ[]の中身は要素番号といい、配列の中で何番目なのかを示します。要素番号は0から始まります。

配列の要素に値を入れるときは、以下のようにします。

配列名に[]を付けて、代入演算子=で値を入れる、簡単ですね。

また、もちろん文字列も代入可能です。

配列の作り方

添え字配列

添え字配列は数値をキーワードとして管理される配列です。数値は自動てきに割り振ることができるため「添え字配列」と呼ばれます。

配列の作り方と値の入れ方を見ていきましょう。

「$array = array();」は、右辺で空の配列を生成し、それを$arrayという変数で参照すると考えてください。以降$array[]と表現することで要素を参照・要素への値の代入が可能となります。

上記の例では1つめの要素、つまり$array[0]に文字列’リンゴ’、array[1]に’ミカン’、array[2]に’バナナ’を代入したことになります。そしてvar_dumpというコマンドを使い中身を参照しました。結果は以下のとおりです。

ちょっと見にくいので整形しましょう。

「array(3)」は要素数3つ、「string(9)」は長さ9バイト、つまり1文字3バイトなので合計9バイト、そして「[0]=…」は要素番号ごとの内容を表示しています。

 

連想配列

連想配列とは、キーワードを用意してデータの保管ができるようにした配列です。通常の配列は添え字といって自動的に番号が割り振られます。それに対し、連想配列は文字列をキーワードとしてデータを呼び出せるため非常に扱いやすいです。例を見ていきましょう。

このサンプルコードでは「name」「age」「area」といったキーワード使ってデータを保管しています。データを引き出すときは、echo $profile[‘name’]; とすれば個別に出力することができます。キーワードの部分は「キー」と呼ばれます。キーに使えるのは文字列と数値です。文字列の場合はシングルクォーテーションが必要になります。

 

多次元配列

配列は、単純に1,2,3…というだけでなく、2方向の配列も可能です。

Excelのマス目を想像してください。今まで解説してきた配列はどちらかというと横方向(A1,B1,C1…)だけでした。しかし横方向だけでなく縦方向も値を持たせることが可能です。Excelの表でいうと、こうなります。

宣言方法はいろいろありますが、ここでは横方向の配列を3つ($array1,$array2,$array3)宣言し、それをさらに配列($arrays)に入れてみます。

実行してみましょう。

何やら分かりませんね。整形しましょう。

すっきりしました。Excelの表ともなんとなくイメージが合いましたね。

横方向だけの配列を1次元配列、縦方向も加えて2次元配列といいます。覚えておきましょう。

まとめ

本記事では、配列について解説しました。

解説でも触れたとおり、Excelの表形式で理解するとよいでしょう。ご自身でも値を入れたり表示させたりして、理解を深めてくださいね!