カテゴリー
PHP

配列について知ろう

この章では配列について説明します。
普通の$bookのような変数は1つしかデータを入れることができませんが、配列は複数のデータを入れることができます。
複数のデータを扱う場合、普通の変数では別々の変数名でそれぞれのデータを入れなければいけません。1 これらの5つの変数は一見して関係性があるように見えますが、メモリ上では全く別の変数であり、関係性はありません。
配列を使いますと、以下の通り1つの変数$animalで複数のデータを扱うことが出来ます。
つまり、1つの変数$animalの中には複数のデータがお互い関係性を持って存在していると言えます。1 同じ目的で使用するデータは1つにまとめてしまい、1つの変数で複数のデータを管理できると便利です。
このような時に配列を使用します。
配列の作成方法は5つありますので順番に説明していきます。1 配列名の命名規則は変数名の命名規則と同じです。
右辺は配列を表すarrayにカッコを付けて、要素をカンマで区切ります。以下の例で説明しますと猫、犬などのデータ間をカンマ区切ります。
スペースの都合で2行で書いていますが1行で書いても結構です。11配列の基本構文1では以下のように配列を作成しました。
1これを配列の基本構文2で書き換えますと、次のようになります。
1添え字とは配列のデータが何番目に入っているのかを管理する番号です。
例えばコインロッカーを使う場合、必ずロッカーに番号が振ってありますが、この番号があるからこそ、どこに荷物があるのか分かるわけです。
添え字もこれと同じで配列のデータがどこに入っているのかを管理する番号です。
また、添え字は0から順番に番号が付けられていきます。
1から番号が振られるわけではありませんので注意してください。
以下の図で添え字について説明します。1 両方の配列に共通していることは配列の先頭である0には猫が入っていて、配列の前から2番目の1には犬が入っていて、配列の前から3番目の2にはライオンが入っていて、配列の前から4番目の3には象が入っていて、配列の前から5番目の4にはネズミが入っていると言うことです。
つまり、以下の図のペアは同じことを意味しています。11 基本構文1,2で作成した2つ配列は1と言う基本構文3で以下のように書くことが出来ます。1 配列の基本構文2との違いはブランケットの中に添え字を使っていないことですが、意味は同じです。
添え字が無くても、添え字の0には猫、添え字の1には犬、添え字の2にはライオン、添え字の3には象, 添え字の4にはネズミが入っています。つまり、添え字を明確に書かない場合には0から順に値が入っていきます。1 これまでの配列は添え字が数字でしたが、配列の基本構文4では添え字に文字列を使います。
文字列型の添え字はキーとも呼ばれています。
このように作られた配列を連想配列といいます。
その場合、添え字は文字列なのでダブルクォートで囲みます。1 このように添え字に文字列を使いますと単に添え字を数字にした形式と比べて、添え字と値の関係性が分かりやすくなります。
nameが大野という言い方と以下のように0番目が大野という言い方ではわかりやすさが違います。11 配列の基本構文4を配列の基本構文5で書き換えると以下のようになります。
1キーと値の間には1があり、キーと値の関係付けを行っています。
これまでは配列の作り方を説明しましたが、ここでは配列からデータを取り出す方法について説明します。1 配列$animalから配列の値である猫を取り出すには1と、書きます。
1には猫と言うデータが入っていますので、変数の箇所で説明したように、printやechoを使ってその中に入っている値を出力することが出来ます。
つまり、ブランケットの中に添え字を入力するとそれに応じた値を配列から取り出すことが出来ます。
ですので上の例の結果は以下の通りです。1 今度は連想配列からデータを取り出してみましょう。1 連想配列$humanから配列の値である大野を取り出すには1と、書きます。
つまり1には大野と言うデータが入っていますのでprintやechoを使ってその中に入っている値を取り出すことが出来ます。
つまり、ブランケットの中にキーを入力するとそれに応じた値を配列から取り出すことが出来ます。
次に配列のデータを変更する方法について説明します。
配列のデータを変更するには以下の11のように新たなデータを代入するだけです。
これで古い要素である猫、犬が上書きされて新しいデータに変わります。11 次は配列のデータをカラにする方法について説明します。
例えば配列を初期化したい場合、つまり要素を消したい場合にはカラの配列を代入します。
カラの配列は1で表現します。1 では例をみてみましょう。1 これで配列の要素はカラになります。